【问题标题】:Synchronized Panning Two Chart Areas同步平移两个图表区域
【发布时间】:2019-01-19 18:52:57
【问题描述】:

我有一个包含两个区域的图表。当我在滚动条上缩放或滑动一个图表区域时,其他图表区域也会缩放和滑动。我一直在尝试将平移添加到我的项目中。当我搜索时,我发现了 MSChart 扩展,我很喜欢它 (https://www.codeproject.com/Articles/357817/MSChart-Extension-Zoom-and-Pan-Control)。

我想使用 MSChart 扩展,但就像我说的我需要同步两个图表区域。当我缩放一个图表区域时,另一个图表区域必须被缩放,或者当我平移一个区域时,另一个图表区域必须自动平移。

或者我只需要添加平移功能而不是没有 MSChart 扩展的滚动条。

你能帮我吗?

我是在没有 mschart 扩展的标准图表代码上使用以下代码片段完成的。它适用于鼠标滚轮缩放和滚动条上的滑动,但当我使用 MSChart 扩展(缩放和平移)控制图表时,它不会同步两个图表区域。

private void chart1_AxisViewChanged(object sender, ViewEventArgs e)
{
            if (e.Axis == chart1.ChartAreas["ChartArea1"].AxisX)
            {
                chart1.ChartAreas["ChartArea2"].AxisX.ScaleView.Size = chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Size;
                chart1.ChartAreas["ChartArea2"].AxisX.ScaleView.Position = chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Position;
            }

            if (e.Axis == chart1.ChartAreas["ChartArea2"].AxisX)
            {
                chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Size = chart1.ChartAreas["ChartArea2"].AxisX.ScaleView.Size;
                chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Position = chart1.ChartAreas["ChartArea2"].AxisX.ScaleView.Position;
            }
        }

最好的问候,

【问题讨论】:

    标签: c# charts mschart


    【解决方案1】:

    如果您有两个图表区域,您可以使用 AlignWithChartAreaAlignmentStyle 方法将它们与 AxisView 等特殊属性对齐。

    例如:

    using System.Windows.Forms.DataVisualization.Charting;
    ...
    
    // Make Chart Area 2 align to Chart Area 1
    Chart1.ChartAreas["Chart Area 2"].AlignWithChartArea = "Default"; //or "ChartArea1"
    
    // Set the alignment type
    Chart1.ChartAreas["Chart Area 2"].AlignmentStyle = AreaAlignmentStyles.Position |
                                                    AreaAlignmentStyles.PlotPosition |
                                                    AreaAlignmentStyles.Cursor |
                                                    AreaAlignmentStyles.AxesView;    
    ... 
    

    来源:Microsoft Chart for Windows Forms Samples Environment

    【讨论】:

    • 非常感谢@Baddack!效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多