dragon龙 2020-06-26 23:36 采纳率: 0%
浏览 314
已结题

chart绘图问题怎么实现绘图的point数量固定,但ScaleView.Size可以随意变动

我本意是想通过.ScaleView.Size设定范围,根据1000个点算出每个点的横坐标,再通过addxy,1000个点,但实际上如果ScaleView.Size=2000,图形只能绘制到图形中间,如果ScaleView.Size=4000,则只能绘制1/4,怎么实现addxy到1000个刚好是ScaleView.Size值

private void createGraphSeries()

{

  TreeNode selNode = tvStation.SelectedNode;

  m_stationNo = Convert.ToInt16(selNode.Text.ToString().Substring(2, 1));

  string serialName = "";

  pointChart.Series.Clear();

  for (int i = 0; i < StationHelp.MAX_STATION_COUNTS; i++)

  {

    serialName = "触点" + (i + 1).ToString() + "(V)";



    pointChart.Series.Add(createSeries(serialName, i));

  }

  //页面显示的

  pointChart.ChartAreas[0].AxisX.ScaleView.Size = m_totalPointCounts;

  pointChart.ChartAreas[0].AxisX.Interval = pointChart.ChartAreas[0].AxisX.ScaleView.Size / 10;

  pointChart.ChartAreas[0].AxisX.Minimum = m_currentStationNum;

  pointChart.ChartAreas[0].AxisX.Maximum = m_totalPointCounts;

  //pointChart.ChartAreas[0].AxisX.IntervalOffset=

  m_drawPerPointCounts = m_totalPointCounts / m_pointCountsPerPage;



}

private void drawGraphLine()

{

  if (m_stationReliabilityDt == null)

    return;

  //图形创建

  createGraphSeries();

  //pointChart.Series[0].

  TreeNode selNode = tvStation.SelectedNode;

  m_stationNo = Convert.ToInt16(selNode.Text.ToString().Substring(2, 1));

  double xx = 0;

  for (int j = 0; j < StationHelp.DATA_COUNTS_PER_STATION; j++)

  {

    for (int i = 0; i < m_pointCountsPerPage; i++)

    {

      int curentPointNum = m_drawPerPointCounts * i;

      //pointChart.ChartAreas[0].Position = 

      //触点曲线

      xx = curentPointNum;

      double yy = Convert.ToDouble(m_stationReliabilityDt.Rows[i][j + 4].ToString());

      pointChart.Series[j].Points.AddXY(i, yy);

      //System.Diagnostics.Debug.WriteLine("xx=" + xx.ToString());



    }

  }

  System.Diagnostics.Debug.WriteLine("interval=" + pointChart.ChartAreas[0].AxisX.Interval.ToString() 

    + "区域范围" + pointChart.ChartAreas[0].AxisX.ScaleView.Size.ToString() + "绘图后的最大值=" + xx.ToString());

}

图片说明

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料