C# winform非常好用的图表开源控件Scottplot
wifnorm自带的chart控件功能和性能都不太行,所以在网上搜索到了Scottplot开源图表控件。根据自己需要,将已经试验使用过的用法记录在这里
winform建议使用版本
Scottplot包版本:4.1.71
这个版本在winform中可以以控件形式直接拖拉到窗体中使用,安装好包之后,会在工具箱中多出一个菜单项。将菜单项中的FormsPlot控件就是Scottplot表格控件
常用操作如下:
chartPlot为我设置的FormsPlot控件的name
第一部分:Scottplot图表界面控件基础属性设置
chartPlot.Reset();//重置图表控件
chartPlot.Plot.AxisAuto();//x轴自动缩放
chartPlot.Plot.XLabel("Angle(°)");//设置X轴标题
chartPlot.Plot.YLabel("RSSI(dBm)");//设置Y轴标题
chartPlot.Plot.SetAxisLimitsX(0, 360);//设置x轴范围
chartPlot.Plot.SetOuterViewLimits(0, 360, 0, -200);//设置显示范围
chartPlot.Refresh();//刷新控件
第二部分:创建线,设置线标签
Plots= chartPlot.Plot.AddSignalXY(Points[it.Key].Keys.ToArray(),Points[it.Key].Values.ToArray(),colors[it.Key]);//根据XY点数组,线颜色,创建折线
Plots.Label = index_and_Mac[it.Key];//给创建的折线增加标签
chartPlot.Plot.Legend();//使设置的标签生效
第三部分:反转xy轴的正负
var plt = new ScottPlot.Plot(600, 400);
plt.XAxis.TickLabelNotation(invertSign: true);
plt.YAxis.TickLabelNotation(invertSign: true);
第四部分:定义刻度间距
// then invert the sign of the axis tick labels
plt.XAxis.ManualTickSpacing(2);//横坐标刻度线网格间距设为2
plt.YAxis.ManualTickSpacing(.1);//纵坐标刻度线网格间距设为0.1