爱新觉罗二狗 2023-06-21 16:22 采纳率: 40%
浏览 15
已结题

c#chart画图幂次方显示

使用System.Windows.Forms.DataVisualization.Charting.Chart控件画折线图
Y轴是动态量,会不停的添加,X轴就是Y值得index,
但是希望X轴得显示是10得幂次,怎么实现

img

  • 写回答

2条回答 默认 最新

  • 梦幻编织者 2023-06-21 16:25
    关注

    可以通过自定义坐标轴的刻度来实现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的幂次。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月3日
  • 已采纳回答 6月25日
  • 创建了问题 6月21日