首页 > 其他分享 >关于CHART控件使用的一个例子

关于CHART控件使用的一个例子

时间:2022-11-06 13:23:06浏览次数:50  
标签:11 控件 Rows CHART DateTime Add 例子 new dt

最近一段时间, 有用到WinForm的chart控件, 主要是做了一个纺织行业的验布数据的图表显示, 比如长度值和重量值的曲线绘制,

以此图表, 相关人员则可判断哪些检验数据是错误的, 后来, 又安排我检查一个保安人员夜间巡查情况的事, 我就又开始使用chart控件

了, 折腾了大半天, 也没弄好, 周日在家, 不死心, 又反复调试, 终于功夫不负有心人, 成功自定义显示了"X轴", 在此写下来, 以供以后参考! 

 

 效果见图, 比如2022/11/2这天, 1点多, 3点多巡逻了, 留下了巡检记录数据, 这个是厂里的巡更棒, 市面上很常见, 可以下载到电脑上

下面是代码(主要是思想, 算是DEMO)

private void Form1_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("patrolDate", typeof(DateTime));
            dt.Columns.Add("patrolTime", typeof(float));
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/2"), 0.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/2"), 3.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/3"), 1.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/3"), 4.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/8"), 1.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/8"), 4.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/22"), 1.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/22"), 4.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/30"), 1.3F });
            dt.Rows.Add(new object[] { DateTime.Parse("2022/11/30"), 4.3F });

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                chart1.Series[0].Points.AddXY(dt.Rows[i]["patrolDate"], dt.Rows[i]["patrolTime"]);
                //设置X轴字体绘制角度
                chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 90;
                CustomLabel label = new CustomLabel();
                label.Text = ((DateTime)dt.Rows[i]["patrolDate"]).ToShortDateString();
                //定义自定义标签的位置, 显示标签的关键代码
                label.FromPosition = ((DateTime)dt.Rows[i]["patrolDate"]).ToOADate() - 1;
                label.ToPosition = ((DateTime)dt.Rows[i]["patrolDate"]).ToOADate() + 1;
                //显示网格线
                label.GridTicks = GridTickTypes.Gridline;
                chart1.ChartAreas[0].AxisX.CustomLabels.Add(label);

            }

        }

主要容易失败的地方, 在于X轴标签显示上, 网上有贴子说日期时间类型不能在此使用, 是不对的, 需要设置

CustomLabel的FromPosition和ToPosition属性, 这才是自定义轴标签的关键所在, 这个是在Chart控件的

ChartAreas集合的Axes集合中的X axis中定义的, chart控件比较庞大, 需要慢慢消化.

标签:11,控件,Rows,CHART,DateTime,Add,例子,new,dt
From: https://www.cnblogs.com/captionAmazing/p/16862441.html

相关文章

  • OrgChart树组件
    源码和包下载地址:https://gitee.com/dabeng/OrgChart/tree/master官网:GettingStarted-Docs|BALKANOrgChartJS注意官网上下载的JS版本可能无法直接使用。使用:1......
  • C#之跨线程访问控件属性
    在窗体设计中,会经常遇到跨线程访问窗体控件,如果直接访问会报错,那怎么办呢?直接上代码代码为一个类,实际运用的时候直接实例化调用即可  1classCrossThreadUp......
  • JFreeChart(一.柱状图.1)
    importjavax.servlet.http.HttpSession;importorg.jfree.chart.ChartFactory;importorg.jfree.chart.JFreeChart;importorg.jfree.chart.plot.PlotOrientation;impo......
  • 【Web开发】Python实现Web图表功能(pyecharts,Flask)
    <fontcolor=purpleface=华文行楷size="5">"柳丝榆荚自芳菲,不管桃飘与李飞;"1、简介APythonEchartsPlottingLibrary.ApacheEcharts是一个由百度开源的数据可视化......
  • pyecharts 标题和图标 重叠问题
    有的时候标题和标签会重合在一起就像下面图一样 调整下图的参数center即可center的两个参数分别是 距离左边和上边的距离百分比c_all=(Pie()......
  • 对外提供接口签名验签例子程序
    对外界提供的接口,需要加签名保证安全,签名可以用md5,sha256都行,本文是md5签名文档  比如:appId:testffhz appSecret:rv30GsgvPxxSH23L 代码拦截器:/***对外......
  • 【Web开发】Python实现Web图表功能(pyecharts入门学习)
    <fontcolor=purpleface=华文行楷size="5">"柳丝榆荚自芳菲,不管桃飘与李飞;"1、简介APythonEchartsPlottingLibrary.ApacheEcharts是一个由百度开源的数据可视化......
  • ASP.net wp 动态添加控件设置属性事件
     页面代码:<body><formid="form1"runat="server"><div><asp:LabelID="Label1"runat="server"Text="Label"></asp:Label><......
  • ECharts学习笔记
    目录ECharts学习笔记原文链接ECharts配置语法第一步:创建HTML页面第二步:为ECharts准备一个具备高宽的DOM容器第三步:设置配置信息图形示例饼图柱状图下钻柱状图E......
  • 在vue3+axios使用echarts的地图
    vue3+axios使用echarts的地图概述:在echarts的官网是直接提供的js代码和网上,如何在vue3中跑起来(各种跨域,各种报错让我想die)附加:之前一直跑不起来的很大原因是完全不清楚......