使用C#绘制带有主次Y轴的折线图

8

我一直在研究如何在c#中绘制图表。我有一个特定的需求,需要绘制一个具有y轴和x轴以及第二个y轴的图表。我尝试过使用Excel Interop,但没有找到解决方案。我已经开始使用MSChart组件,但还没有取得任何成果,我正在处理的数据是:

index lines branches
1      20     5
2      30     8
3      34     6

我希望在横轴上绘制指数,并在左侧y轴上为线条设置比例尺,在右侧y轴上为分支设置比例尺。

如果有帮助的话,我使用的是.NET 2.0和3.5版本。

1个回答

13
创建一个系列时,将YAxisType属性设置为AxisType.PrimaryAxisType.Secondary
        var lines = new Series("lines");
        lines.ChartType = SeriesChartType.Line;
        lines.Points.Add(new DataPoint(1, 20));
        lines.Points.Add(new DataPoint(2, 30));
        lines.Points.Add(new DataPoint(3, 34));
        lines.YAxisType = AxisType.Primary;
        chart1.Series.Add(lines);

        var branches = new Series("branches");
        branches.ChartType = SeriesChartType.Line;
        branches.Points.Add(new DataPoint(1, 5));
        branches.Points.Add(new DataPoint(2, 6));
        branches.Points.Add(new DataPoint(3, 8));
        branches.YAxisType = AxisType.Secondary;
        chart1.Series.Add(branches);

这将产生一个类似于下图的图表,听起来是您想要的。下面的示例有一些丑陋之处,有主要和次要y值的线条等,但是您可以通过设置图表控件的属性来进行清理。

在此输入图片描述


1
你设置的属性是什么来对齐它们? - muzzlator
正如@muzzlator所问,哪个属性将使Y主轴和次轴与网格线对齐? - Jesse Craig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接