qq_33237967 2017-05-17 11:16 采纳率: 0%
浏览 9261

c# chart折线图实时绘制

要用chart画实时的温度变化折线图 有木有简单的小例子啊

  • 写回答

2条回答 默认 最新

  • FEN_TA 2017-05-18 01:47
    关注

    之前项目中有用到过 看一下吧 CHART 对象
    public void setChart(Chart chart, List monitorResults)
    {
    chart.Series[0].Points.Clear();
    chart.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;

            //1.设置当前X轴Label自动设置格式 = 关闭
            chart.ChartAreas[0].AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None;
            //2.设置适应全部数据点
            chart.ChartAreas[0].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;
            //3.设置当前X轴Label的双行显示格式 = 关闭
            chart.ChartAreas[0].AxisX.LabelStyle.IsStaggered = false;
            //4.设置X轴不从0开始
            chart.ChartAreas[0].AxisX.IsStartedFromZero = false;
            chart.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false;//设置滚动条是在外部显示
    
            chart.ChartAreas[0].AxisX.ScrollBar.Size = 10;//设置滚动条的宽度
    
            chart.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;//滚动条只显示向前的按钮,主要是为了不显示取消显示的按钮
    
            chart.ChartAreas[0].AxisX.ScaleView.Size = 8;//设置图表可视区域数据点数,说白了一次可以看到多少个X轴区域
            chart.ChartAreas[0].AxisX.Interval = 1;
    
            // 线的颜色为红色            
            chart.Series[0].Color = Color.Black;
            chart.Series[0].MarkerStyle = MarkerStyle.Circle;
            chart.Series[0].MarkerColor = Color.Red;
            chart.Series[0].IsValueShownAsLabel = true;
            chart.Series[0].LabelForeColor = Color.Red;
            chart.Series[0].XValueType = ChartValueType.Auto;
    
            // 添加数据
            for (int i = 0; i < monitorResults.Count; i++)
            {
                long time = monitorResults[i].CreateTime;
                DateTime dt = getDateTime(time);
                chart.Series[0].Points.AddXY(dt.ToString("yyyy-MM-dd")
                    , monitorResults[i].Result);
                //chart.Series[0].Points.AddXY(monitorResults[i].CreateTime
                //    , monitorResults[i].Result);
            }
            // Y的最大值
            chart.ChartAreas[0].AxisY.Maximum = 1000;
            // 隐藏图示
            chart.Legends[0].Enabled = false;
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器