C# chart曲线控件专题

1.控件基本设置

  chart1.ChartAreas[0].AxisY.IsStartedFromZero = false; //设置Y轴自适应
  chart1.Series["瞬时值"].BorderWidth = 2; // 设置曲线宽度为2个像素,注意[]中写入的Series的Name
  chart1.Series["瞬时值"].Color = Color.Red; // 设置曲线显示颜色
  chart1.ChartAreas[0].AxisX.Minimum = 0;  //设置X轴最小值
  chart1.ChartAreas[0].AxisX.Maximum = 100;//设置X轴最大值
  //chart1.ChartAreas[0].AxisX.Minimum = Double.NaN;//设置X轴最小值为自适应
  //chart1.ChartAreas[0].AxisX.Maximum = Double.NaN;//设置X轴最小值为自适应
  chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;//取消chart1X轴方向显示单元格
  chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;//取消chart1Y轴方向显示单元格
  chart1.Series[0].Points.Clear(); //清除控件上所有点位
  chart1.Update(); //刷新控件显示
  chart1.Series[0].Points.RemoveAt(0); //每次移除最早的点,需要配合显示的点数使用

2.曲线鼠标滚轮缩放

   // 添加鼠标滚轮事件  在窗体加载时进行绑定
  chart1.MouseWheel += Chart1_MouseWheel;

  private void Chart1_MouseWheel(object sender, MouseEventArgs e)
  {
      // 获取鼠标滚轮的滚动方向
      int delta = e.Delta;

      // 根据滚动方向进行放大或缩小
      if (delta < 0)
      {
          // 放大图表
          chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset();
          chart1.ChartAreas[0].AxisY.ScaleView.ZoomReset();
      }
      else if (delta > 0)
      {
          // 缩小图表
          double xMin = chart1.ChartAreas[0].AxisX.ScaleView.ViewMinimum;
          double xMax = chart1.ChartAreas[0].AxisX.ScaleView.ViewMaximum;
          double yMin = chart1.ChartAreas[0].AxisY.ScaleView.ViewMinimum;
          double yMax = chart1.ChartAreas[0].AxisY.ScaleView.ViewMaximum;

          double posXStart = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X) - (xMax - xMin) / 3;
          double posXFinish = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X) + (xMax - xMin) / 3;
          double posYStart = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Location.Y) - (yMax - yMin) / 3;
          double posYFinish = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Location.Y) + (yMax - yMin) / 3;

          chart1.ChartAreas[0].AxisX.ScaleView.Zoom(posXStart, posXFinish);
          chart1.ChartAreas[0].AxisY.ScaleView.Zoom(posYStart, posYFinish);
      }
  }

相关推荐

  1. C# chart曲线专题

    2024-03-12 07:50:04       41 阅读
  2. C# Chart

    2024-03-12 07:50:04       48 阅读
  3. Android简单

    2024-03-12 07:50:04       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 07:50:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 07:50:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 07:50:04       82 阅读
  4. Python语言-面向对象

    2024-03-12 07:50:04       91 阅读

热门阅读

  1. 17.8.1 InnoDB 启动配置

    2024-03-12 07:50:04       33 阅读
  2. 正则表达式

    2024-03-12 07:50:04       48 阅读
  3. VUE+内置iframe传值失效问题解决

    2024-03-12 07:50:04       42 阅读
  4. 嵌入式面经-数据结构-十大排序

    2024-03-12 07:50:04       47 阅读
  5. Android中类加载机制

    2024-03-12 07:50:04       46 阅读
  6. 前端自带的base64转化方法

    2024-03-12 07:50:04       43 阅读
  7. 2、设计模式之单例模式详解

    2024-03-12 07:50:04       34 阅读
  8. android JNI float *转MutableList

    2024-03-12 07:50:04       44 阅读
  9. ArrayList与LinkedList的区别

    2024-03-12 07:50:04       49 阅读
  10. django中的QuerySet

    2024-03-12 07:50:04       41 阅读
  11. TypeScript之枚举

    2024-03-12 07:50:04       43 阅读