我需要开发一个图表,其中包含 2 个具有完全不同比例的数据系列。
这是 可能吗?,我查看了图表的属性,但我不知道如何查看。你能帮帮我吗?
此图形在 Excel 中。这是 E.G.我需要完成! 我想告诉你,我的问题是如何联合,因为我代码的图表已经准备好了,我只是想在一个中使用不同的尺度。
<asp:Chart ID="graf_calificacion_servicio_mensual" runat="server" Height="396px" Width="760px">
<Series>
<asp:Series Name="Series1" CustomProperties="DrawingStyle=Cylinder">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY IsLabelAutoFit="False" TextOrientation ="Auto"
TitleFont="Verdana, 10pt" Interval="Auto">
<LabelStyle Font="Microsoft Sans Serif" />
</AxisY>
<AxisX IsLabelAutoFit="false" LabelAutoFitMaxFontSize="10"
LabelAutoFitMinFontSize="8" LabelAutoFitStyle="None" Interval="1">
<LabelStyle Angle ="90" Font="Microsoft Sans Serif" IsEndLabelVisible ="false" />
</AxisX>
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
最佳答案
对于第二个刻度,通过在图表区启用它并将系列的 y 轴类型设置为次要来使用次要 y 轴。
如果您在添加数据后执行此操作,您还需要刷新轴的比例:
ChartArea ca = chart1.ChartAreas[0];
Series s1 = chart1.Series[0];
Series s2 = chart1.Series[1];
ca.AxisY2.Enabled = AxisEnabled.True;
s1.YAxisType = AxisType.Primary;
s2.YAxisType = AxisType.Secondary;
ca.RecalculateAxesScale();
请注意,您可能还想关闭网格线,因为它们往往会因不同的比例而变得困惑,或者为它们着色,甚至可能是轴本身采用系列的颜色。
为此,您需要“应用”调色板:
chart1.ApplyPaletteColors();
ca.AxisY.MajorGrid.LineColor = s1.Color;
ca.AxisY2.MajorGrid.LineColor = s2.Color;
ca.AxisY.LineColor = s1.Color;
ca.AxisY2.LineColor = s2.Color;
ca.AxisY.LineWidth = 2;
ca.AxisY2.LineWidth = 2;
ca.AxisX.MajorGrid.Enabled = false;
该代码适用于 Winforms MSChart 控件,但 ASP 版本应该可以正常工作。
关于c# - 如何创建具有 2 个具有不同比例的数据系列的图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44009559/