这两个库均可在Nuget里搜索到,安装完之后,编译一下,然后再将.dll添加到工具箱里既可使用。
LiveChart官方网站:https://lvcharts.net/ 范例网站:https://lvcharts.net/App/examples/v1/wf/Basic%20Line%20Chart
Github地址:https://github.com/Live-Charts/Live-Charts
图表生成,以及往图表里添加数据的程序范例如下:
using System;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Wpf;
namespace Winforms.Cartesian.BasicLine
{
public partial class BasicLineExample : Form
{
public BasicLineExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new LineSeries
{
Title = "Series 1",
Values = new ChartValues<double> {4, 6, 5, 2, 7}
},
new LineSeries
{
Title = "Series 2",
Values = new ChartValues<double> {6, 7, 3, 4, 6},
PointGeometry = null
},
new LineSeries
{
Title = "Series 2",
Values = new ChartValues<double> {5, 2, 8, 3},
PointGeometry = DefaultGeometries.Square,
PointGeometrySize = 15
}
};
cartesianChart1.AxisX.Add(new Axis
{
Title = "Month",
Labels = new[] {"Jan", "Feb", "Mar", "Apr", "May"}
});
cartesianChart1.AxisY.Add(new Axis
{
Title = "Sales",
LabelFormatter = value => value.ToString("C")
});
cartesianChart1.LegendLocation = LegendLocation.Right;
//modifying the series collection will animate and update the chart
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { 5, 3, 2, 4, 5 },
LineSmoothness = 0, //straight lines, 1 really smooth lines
PointGeometry = Geometry.Parse("m 25 70.36218 20 -28 -20 22 -8 -6 z"),
PointGeometrySize = 50,
PointForeground = Brushes.Gray
});
//modifying any series values will also animate and update the chart
//注意添加的数据类型和建立的表的数据类型要一致
cartesianChart1.Series[2].Values.Add(5d);
cartesianChart1.DataClick += CartesianChart1OnDataClick;
}
private void CartesianChart1OnDataClick(object sender, ChartPoint chartPoint)
{
MessageBox.Show("You clicked (" + chartPoint.X + "," + chartPoint.Y + ")");
}
}
}