我需要开发一个图表,其中包含两个具有完全不同尺度的数据系列。
这是 posible?,我查看了图表的属性,但我不知道如何。你能帮帮我吗?此图形位于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>
答案 0 :(得分:2)
对于第二个比例,通过在图表区域上启用辅助y轴并将系列的“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版本应该可以正常工作。