2070 / C# / WPF / ScottPlot

 

scottplot.net

https://scottplot.net/demo/ - програма

1. ScottPlot.WPF NuGet package

2. xmlns:ScottPlot="clr-namespace:ScottPlot.WPF;assembly=ScottPlot.WPF"

3. <ScottPlot:WpfPlot x:Name="WpfPlot1" />

4.

double[] dataX = { 1, 2, 3, 4, 5 };
double[] dataY = { 1, 4, 9, 16, 25 };
WpfPlot1.Plot.Add.Scatter(dataX, dataY);
WpfPlot1.Refresh();

 


 

Пофарбувати графік

WpfPlot1.Plot.Add.Scatter(dataX, dataY, ScottPlot.Color.FromHex("#FF0000"));

 

Пофарбувати тло

WpfPlot1.Plot.FigureBackground.Color = ScottPlot.Color.FromHex("#00FF00");

 

Прибрати сітку

WpfPlot1.Plot.Grid.IsVisible = false;

 

Назва графіку

WpfPlot1.Plot.Title("GOOD", 20);

 

Підписи на осях та розмір шрифту

WpfPlot1.Plot.XLabel("X axe", 15);
WpfPlot1.Plot.YLabel("Y axe", 15);

 

Діапазон значень

WpfPlot1.Plot.Grid.XAxis.Min = 0;
WpfPlot1.Plot.Grid.XAxis.Max = 15;
WpfPlot1.Plot.Grid.YAxis.Min = 0;
WpfPlot1.Plot.Grid.YAxis.Max = 20;

 

Додати кілька графіків

WpfPlot1.Plot.Add.Scatter(dataX, dataY, Color.FromHex("#FF0000"));
WpfPlot1.Plot.Add.Scatter(dataX2, dataY2, Color.FromHex("#00FF00"));

 

Очистити

WpfPlot1.Plot.Clear();

 

Додати мій Plot

ScottPlot.Plot myPlot = new ScottPlot.Plot();
var myScatter = myPlot.Add.Scatter(dataX, dataY);
myScatter.Color = Colors.Green.WithOpacity(.2);
myScatter.LineWidth = 5;
myScatter.MarkerSize = 15;
myPlot.Add.Scatter(dataX, dataY);
WpfPlot1.Reset(myPlot);
WpfPlot1.Refresh();

 

Товщина лінії та маркерів

myScatter.LineWidth = 4;
myScatter.MarkerSize = 0;

 

Додати центр координат

var vl1 = myPlot.Add.VerticalLine(0);
vl1.LineWidth = 1;
vl1.Color = Colors.Magenta;

var vl2 = myPlot.Add.HorizontalLine(0);
vl2.LineWidth = 1;
vl2.Color = Colors.Magenta;

 

Більші написи

myPlot.ScaleFactor = 2;

 

Змінити вісь на наші позначки

ScottPlot.TickGenerators.NumericManual ticks = new ScottPlot.TickGenerators.NumericManual();
ticks.AddMajor(0, "zero");
ticks.AddMajor(20, "twenty");
ticks.AddMajor(50, "fifty");
myPlot.Axes.Bottom.TickGenerator = ticks;

 

Вивести в діапазоні

myPlot.Axes.SetLimits(-10, 10, -10, 10);