赞
踩
Chart这个图表控件,第一次使用,并且达到我想要的效果了,所以今天记录并分享给大家(我这边做的是饼图)
最终效果图:
一.先建一个WinForm项目,然后拖一个Chart控件,如下图:
二.给Chart控件的Series属性添加集合
三.选择图表类型,饼图
四.添加数据点集合,就是饼图要统计的是什么。
比如我添加的是三个数据点,我要统计任务已完成,执行中,未开始 状态
里面的属于按自己需要设置即可。下面是个人喜欢的样式
PieLabelStyle标签属性设置为Outside,就是图中的效果。
饼图右上角的数值,设置lsVisblelnLegend属于为True
设置属性 LegendText=6;
两个属性作用就是单独显示具体的数值在图例中,对应图表具体的状态值。如图
基本静态数据属性操作就上面这些了。下面来介绍动态数据绑定
比较简单,直接上代码了
- public void TaskChart()
- {
- var taskEnd0 ="Sql查询语句,具体返回的数值";
- var taskEnd1 = "Sql查询语句,具体返回的数值";
- var taskEnd2 = "Sql查询语句,具体返回的数值";
- double[] yValues = { taskEnd0.Count, taskEnd1.Count, taskEnd2.Count };
- string[] xValues = { "已完成", "未执行", "执行中" };
- Chart1.Series["Series1"].Points.DataBindXY(xValues, yValues);
-
- foreach (DataPoint point in Chart1.Series[0].Points)
- {
- if (point.AxisLabel == "已完成")
- {
- point.LegendText = taskEnd0.Count.ToString();
- }
- if (point.AxisLabel == "未执行")
- {
- point.LegendText = taskEnd1.Count.ToString();
- }
- if (point.AxisLabel == "执行中")
- {
- point.LegendText = taskEnd2.Count.ToString();
- }
- }
- Chart1.Series["Series1"].IsXValueIndexed = false;
- Chart1.Series["Series1"].IsValueShownAsLabel = false;
- Chart1.Series["Series1"]["PieLineColor"] = "Black";//连线颜色
- Chart1.Series["Series1"]["PieLabelStyle"] = "Outside";//标签位置
- Chart1.Series["Series1"].ToolTip = "#VALX";//显示提示用语
- }
托入一个定时器控件,实时刷新数据
- private void timer6_Tick(object sender, EventArgs e)
- {
- TaskChart();
- }
搞定,效果图
解决字体重叠问题,启动3D效果即可解决:
启用3D效果步骤:
第一步:
第二步,找到Area3DStyle属性改成启用
如果对你们有用的话,记得动动您的发财手指,点个赞也是爱哦。
参考文献:https://www.cnblogs.com/zybelieve/p/3287276.html
参考文献:https://blog.csdn.net/xfxf996/article/details/81635003
参考文献:https://www.cnblogs.com/biwork/p/3713251.html
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。