安装
WPF:
Install-Package ScottPlot.WPF
Avalonia:
Install-Package ScottPlot.Avalonia
相关网站
https://github.com/ScottPlot/ScottPlot
https://scottplot.net/
调研情况
ScottPlot调研情况:
目前可以用ScottPlot来绘制基本的曲线图,柱形图,饼图,雷达图。
ScottPlot最新的是5.X版本,也是目前的主要版本。
上一个大版本是4.X版本,不过应该不怎么推荐使用了,两个版本的控件名称和API这些差异很大。
网上搜资料,经常查到的是老版本的资料,对功能调研有不少影响。
ScottPlot本身支持多种平台,包括WinForms、WPF、Avalonia等平台。
本身跟Oxyplot一样,也是基于SkiaSharp开发的,两个控件的性能差不多。
细节上如果真正使用的话,还有不少东西需要调研:
1、雷达图,几个指标的上限是以传入的数值里的最大值作为上限的。这样可能[1,1,1,1,1]和[5,5,5,5,5]看起来是一样的。
2、雷达图上不知道如何显示每个指标的具体值。
3、柱形图和饼图上选项和值的标注。
示例代码
曲线图
xmlns:ScottPlot="clr-namespace:ScottPlot.WPF;assembly=ScottPlot.WPF"
<ScottPlot:WpfPlot x:Name="WpfPlot1" />
double[] dataX = { 1, 2, 3, 4, 5 };
double[] dataY = { 1, 4, 9, 16, 25 };
WpfPlot1.Plot.Add.Scatter(dataX, dataY);
WpfPlot1.Refresh();
柱形图
xmlns:ScottPlot="clr-namespace:ScottPlot.WPF;assembly=ScottPlot.WPF"
<ScottPlot:WpfPlot x:Name="WpfPlot1" />
var myPlot = WpfPlot1.Plot;
// add bars
double[] values = { 5, 10, 7, 13 };
myPlot.Add.Bars(values);
// tell the plot to autoscale with no padding beneath the bars
myPlot.Axes.Margins(bottom: 0);
饼图
var myPlot = WpfPlot1.Plot;
double[] values = { 5, 2, 8, 4, 8 };
var pie = myPlot.Add.Pie(values);
//pie.ExplodeFraction = .1;
雷达图
var myPlot = WpfPlot1.Plot;
myPlot.Font.Set(SKFontManager.Default.MatchCharacter('汉').FamilyName);
var series = new RadarSeries()
{
Values = new double[] { 4, 4, 3, 2, 3 },
Label = "Green",
FillColor = ScottPlot.Colors.Green.WithAlpha(.5),
};
var radar = myPlot.Add.Radar(new RadarSeries[] { series });
radar.Labels = new string[] { "指标1", "指标2", "指标3", "指标4", "指标5" }
.Select(s => new LabelStyle() { Text = s, Alignment = Alignment.MiddleCenter })
.ToArray();
//myPlot.Axes.Frameless();
//myPlot.Axes.Margins(0.1, 0.1);
//myPlot.HideGrid();
myPlot.HideLegend();
FAQ
中文显示乱码
myPlot.Font.Set(SKFontManager.Default.MatchCharacter('汉').FamilyName);
标签:double,笔记,使用,var,myPlot,WPF,new,ScottPlot
From: https://www.cnblogs.com/wzwyc/p/18336922