C# 折线图自动间隔

C# 折线图自动间隔,c#,linechart,mschart,C#,Linechart,Mschart,我在VisualStudio中有一个折线图,X轴的值从0到2000043 这些值实际上是频率值,并且每次都会增加。所以在前二十年,它从0到200,但在后二十三年,它从200到20000。在我的图表中,它看起来很烦人,因为20000非常高,所以它缩小了左角值的一半,并在整个图表中显示了一半 我已经附上了我的图表和代码的图像。请看一看,并建议我如何将interval属性设置为auto,以便它可以平等地显示所有值。我还附上了一张我想做的事情的图片 图表图像 这是我想要实现的形象: 频率表excel 以

我在VisualStudio中有一个折线图,X轴的值从0到2000043

这些值实际上是频率值,并且每次都会增加。所以在前二十年,它从0到200,但在后二十三年,它从200到20000。在我的图表中,它看起来很烦人,因为20000非常高,所以它缩小了左角值的一半,并在整个图表中显示了一半

我已经附上了我的图表和代码的图像。请看一看,并建议我如何将interval属性设置为auto,以便它可以平等地显示所有值。我还附上了一张我想做的事情的图片

图表图像

这是我想要实现的形象:

频率表excel

以下是我的图表设置:

        ChartArea chart = chartEnergy.ChartAreas[0]; 
        chart.AxisX.IntervalType = DateTimeIntervalType.Number;

        chart.AxisX.LabelStyle.Format = "";
        chart.AxisY.LabelStyle.Format = "";
        chart.AxisY.LabelStyle.IsEndLabelVisible = true;

        chart.AxisX.Minimum = 0;
        chart.AxisY.Minimum = 0;
        chart.AxisY.Interval = 10;
        chart.AxisY.IsStartedFromZero = false;
我也尝试过将最小值、最大值、间隔设置为1或根本不设置,但这些都不起作用。任何帮助都将不胜感激。谢谢

频率值:

1.25,
1.6,
2,
2.5,
3.15,
4,
5,
6.3,
8,
10,
12,
16,
20,
25,
31.5,
40,
50,
63,
80,
100,
125,
160,
200,
250,
315,
400,
500,
630,
800,
1000,
1250,
1600,
2000,
2500,
3150,
4000,
5000,
6300,
8000,
10000,
12500,
16000,
20000.

您正在寻找对数刻度

尝试为X轴设置Axis.IsLogarithmic属性


谢谢,但我的图表包含零,此属性仅适用于正值!我在你的频率中没有看到任何零。我认为X轴应该是对数的。Y轴应该保持线性,但Program.cs中有一个例外。轴对象-无法在对数图表上正确绘制负值或零值。只有正值可以在对数尺度上解释。好的!我必须删除AxisX.minimum=0!现在它正在工作,但最大值为10000,频率最大值为20000!它正在显示值,但最后我看不到20000。要使最小值和最大值的标签显示,您需要设置您的xaxis.IsMarginVisible=true;。查看链接答案的更新-注意,您需要自定义标签;无论使用哪个间隔/偏移量和哪个基准,计算出的值都不会完全适合您的标签。