WPF优秀组件推荐之LiveCharts
2024-09-01 12:36:12
概述
LiveCharts是一个比较漂亮的WPF图表控件,在数据变化时还会有动画切换的效果,并且样式也可以控制。
官方网站:Live Charts (lvcharts.net)
本文代码基于Stylet开发,如果您还不了解Stylet,请参阅:
WPF优秀组件推荐之Stylet(一) - seabluescn - 博客园 (cnblogs.com)
WPF优秀组件推荐之Stylet(二) - seabluescn - 博客园 (cnblogs.com)
环境安装
通过Nuget引用下面两个组件;
基本使用
本文介绍一个常用的折线图的控件,其它控件请查看官方代码。
Xaml:
<lvc:CartesianChart >
<lvc:CartesianChart.Series>
<lvc:LineSeries Title="Voltage" Values="{Binding VoltageLineSeries}" />
<lvc:LineSeries Title="Current" Values="{Binding CurrentLineSeries}" />
</lvc:CartesianChart.Series> <!--定义Y轴-->
<lvc:CartesianChart.AxisY>
<lvc:Axis Title="Voltage/Current"></lvc:Axis>
</lvc:CartesianChart.AxisY> <!--定义X轴-->
<lvc:CartesianChart.AxisX>
<lvc:Axis Title="Samples" Labels="{Binding XTimeLabels}"/>
</lvc:CartesianChart.AxisX>
</lvc:CartesianChart>
Code:
#region LiveCharts public string[] XTimeLabels { get; set; } = new string[] { "0" };
public ChartValues<double> VoltageLineSeries { get; set; }
public ChartValues<double> CurrentLineSeries { get; set; } public void ReflashDatas()
{
Random random = new Random(); VoltageLineSeries = new ChartValues<double>();
CurrentLineSeries = new ChartValues<double>(); Task.Run(() =>
{
while (true)
{
VoltageLineSeries.Add(random.Next(200, 300));
CurrentLineSeries.Add(random.Next(1, 20)); int Count = VoltageLineSeries.Count;
if (Count > 0)
{
XTimeLabels = new string[Count];
for (int i = 0; i < Count; i++)
{
XTimeLabels[i] = (i + 1).ToString();
}
} Thread.Sleep(2000);
}
});
} #endregion
以上代码下载地址:NiceComponents · Bruce/Learn WPF - 码云 - 开源中国 (gitee.com)
参考文档:
WPF绘制图表-LiveCharts - 橘子香气 - 博客园 (cnblogs.com)
WPF LiveChart 图表详解 - 痕迹g - 博客园 (cnblogs.com)
更多资源请参考官方源码。
最新文章
- Linux多线程学习总结
- centos下JDK的卸载与安装
- Pair Project:电梯控制程序
- apache多站点配置
- Java 在某一个时间点定时执行任务(转载)
- How do I use SOCKS proxy in delphi?
- MySQL并发复制系列二:多线程复制
- Tomcat 官网知识总结篇
- 2016 C++及系统软件技术大会亮点
- ubuntu 14.04 cagl
- 201521123069 《Java程序设计》 第3周学习总结
- Apollo的Oracle适配改动
- HNOI2006公路修建问题
- KindEditor 开源得富文本编辑器
- zabbix图形化界面乱码(二)
- MySQL索引设计不可忽视的知识点
- 利用MYSQL的加密解密办法应对三级安全等级保护
- logtash 接收多配置文件
- java框架篇---Struts入门
- nuget类库xml说明以及类库说明文件添加到包中