使用System.Windows.Forms.DataVisualization.Charting.Chart控件画折线图
Y轴是动态量,会不停的添加,X轴就是Y值得index,
但是希望X轴得显示是10得幂次,怎么实现
可以通过自定义坐标轴的刻度来实现X轴显示为10的幂次
// 创建一个Chart控件
Chart chart = new Chart();
// 添加折线图Series
Series series = new Series();
series.ChartType = SeriesChartType.Line;
chart.Series.Add(series);
// 添加数据
Random rand = new Random();
for (int i = 0; i < 100; i++)
{
double yValue = rand.NextDouble() * 100;
series.Points.Add(yValue);
}
// 自定义X轴的刻度
chart.ChartAreas[0].AxisX.LabelStyle.Format = "0.#E+0";
chart.ChartAreas[0].AxisX.Minimum = 0;
chart.ChartAreas[0].AxisX.Maximum = Math.Pow(10, Math.Ceiling(Math.Log10(series.Points.Count)));
chart.ChartAreas[0].AxisX.Interval = Math.Pow(10, Math.Floor(Math.Log10(series.Points.Count)));
上述代码中,首先创建一个Chart控件和一个折线图Series。然后通过循环添加100个随机数作为Y轴数据。接着通过自定义X轴的刻度,将刻度格式设置为科学计数法,并使X轴的最小值为0,最大值为10的幂次(向上取整),刻度间隔为10的幂次(向下取整)。这样X轴的刻度就会显示为10的幂次。