我有一个图表控件,用于显示声压线。
所以X轴是
31.5 63 125 250 500 1000 2000 4000 and 8000.
我将图表设置为对数,日志基数设置为10.
但是我无法在轴上显示所有这些标签,它只显示31.5 315
和3150。
试图将间隔设为1,但没有运气。
任何人都可以帮助我吗?
答案 0 :(得分:0)
要使CustomLabels
显示在您的轴上,您需要至少使用以下三个属性创建它们:
Text
FromPosition
ToPosition
以下是一个例子:
private void button4_Click(object sender, EventArgs e)
{
Series S2 = chart1.Series.Add("Series2");
ChartArea CA = chart1.ChartAreas[0];
CA.AxisY.IsLogarithmic = true;
List<double> fr = new List<double>();
for (int i = 3; i < 18; i++ )
{
fr.Add(Math.Pow(2, 1f * i / 2));
}
for (int i = 1; i < fr.Count; i+=2)
{
CustomLabel cl = new CustomLabel();
cl.FromPosition = fr[i - 1];
cl.ToPosition = fr[i + 1];
cl.Text = fr[i] + " Hz";
CA.AxisY.CustomLabels.Add(cl);
}
for (int i = 1; i < 60; i++)
{
chart1.Series[0].Points.AddXY(i, Math.Pow(2, i));
chart1.Series[1].Points.AddXY(i, i * i);
}
}
请注意,为了获得最佳精确度,您应该使用FromPositions
和ToPositions
不要落在Labels
之间,而是放在Labels
之间。因此,我跳过显示的FromPositions
频道步骤列表中的所有其他步骤,并将其用于ToPositions
和src
。