C#中如何使用DevExpress的ChartControl实现极坐标图
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,今天小编给大家分享一下C#中如何使用DevExpress的ChartControl实现极坐标图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望
千家信息网最后更新 2025年11月07日C#中如何使用DevExpress的ChartControl实现极坐标图
今天小编给大家分享一下C#中如何使用DevExpress的ChartControl实现极坐标图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
背景
在工控软件的开发中很多业务场景就是使用图表控件展示设备和工艺参数。如下图案例:
实现思路
通常简单的做法是使用图表控件实现,常用的图表控件有开源的ZedGraph,还有付费的TeeChart和DevExpress。常规的曲线图、柱状图、饼图的实现,三个控件都可以很好的实现,建议使用开源的ZedGraph。但是在实现雷达图、极坐标图等特定图表时ZedGraph就不能支持,TeeChart用起来也不是那么完美,对比后发现DevExpress的ChartControl实现还是不错的。
参考代码
本案例是使用的是DevExpress 18.1.3版本,之前在14版本上也试过,但是有一个弊端就是实现极坐标图的时候,第一个点和最后一个点总是自动多一条闭合线,会形成一个闭合的多边形,因此升级了一下版本。在DevExpress中雷达图和极坐标图使用的是父子类的关系,很多属性一致,为了可以自己定义圆盘上的刻度范围,这是采用雷达图实现自定义的极坐标图。
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Diagnostics;using DevExpress.XtraCharts;namespace WinTest{ public partial class Form1 : Form { private Stopwatch sw = new Stopwatch(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { sw.Restart(); int fontSize = 9; //字号 int count = 1; //曲线数量 int points = 8; //每条曲线的点数 int angleMaxValue = 24; //角度最大值 int maxShowPints = 30; //最大显示的点数 for (int i = 0; i < this.Controls.Count; i++) { if (this.Controls[i] is ChartControl) { this.Controls.RemoveAt(i); break; } } // Create a new chart. ChartControl RadarLineChart = new ChartControl(); // Add a radar series to it. Series[] seriesArr = new Series[count]; List[] pintValuesList = new List[count]; for (int i = 0; i < seriesArr.Length; i++) { pintValuesList[i] = new List(); seriesArr[i] = new Series("Series " + i, ViewType.RadarLine); //使用雷达折线图实例化Series RadarLineSeriesView radLineSeriesView = (seriesArr[i].View as RadarLineSeriesView); radLineSeriesView.MarkerVisibility = DevExpress.Utils.DefaultBoolean.False; //去掉线条中的圆点 radLineSeriesView.Closed = false; //线条不形成闭环 RadarLineChart.Series.Add(seriesArr[i]); } // Flip the diagram (if necessary). RadarDiagram radarDiagram = RadarLineChart.Diagram as RadarDiagram; radarDiagram.StartAngleInDegrees = 0; //开始的角度 radarDiagram.AxisX.WholeRange.MinValue = 0; //设置角度范围最小值 radarDiagram.AxisX.WholeRange.MaxValue = 23; //设置角度范围最大值 radarDiagram.RotationDirection = RadarDiagramRotationDirection.Clockwise; //数据是顺时针还是逆时针 // Add a title to the chart and hide the legend. ChartTitle chartTitle1 = new ChartTitle(); chartTitle1.Text = "Radar Line Chart"; RadarLineChart.Titles.Add(chartTitle1); RadarLineChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; //隐藏图例 // Add the chart to the form. RadarLineChart.Dock = DockStyle.Fill; this.Controls.Add(RadarLineChart); // Populate the series with points. Random r = new Random((int)DateTime.Now.Ticks); r.NextDouble(); for (int i = 0; i < seriesArr.Length; i++) { for (int k = 0; k < points; k++) { double yValue = 100 * r.NextDouble(); pintValuesList[i].Add(new SeriesPoint(k * 24.0 / points, yValue)); } seriesArr[i].Points.AddRange(pintValuesList[i].ToArray()); seriesArr[i].LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; //隐藏数据点的标签显示 } } }} 运行效果图,如下:
以上就是"C#中如何使用DevExpress的ChartControl实现极坐标图"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
极坐标
图表
控件
知识
篇文章
角度
雷达
最大
就是
曲线
版本
范围
C#
内容
数据
最大值
点数
线条
还是
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
用网线把两台服务器连接
数据库的保密问题
珠海网络技术
怎么用odbc维护数据库
cbt服务器
松江区提供软件开发服务大概费用
奥的斯服务器显示故障怎么看
宜兴软件开发注意事项
微山软件开发入门课程在线学习
presto分布式大数据库
张掖租房网络安全
网络技术 纵向虚拟化技术
苹果13验证失败连接服务器超时
网络技术员实习任务安排
电子商务网络技术ppt
u8数据库文件打开
外包上海交行软件开发怎么样
方舟手游服务器缺管理
系统运维跟软件开发
南充爱信软件开发公司
qq的手机数据库文件
vpn服务器搭建工具
服务器火炬之光
台湾网络安全大世界
恶魔之魂登录服务器等好久
浙江移领网络技术有限公司
网络技术发展心得
国家网络安全讨论稿
博山mes管理软件开发公司
中关村网络安全信息选址