MatplotlibCS
A tiny library for utilizing Matplotlib Python charting library from C#. The general process is this:
Basic usage
- You create an instance of the class Figure and initialize it's properties with relative data. This instance describes everything you want to see on the figure.
- You initialize MatplotlibCS class instance. You need to specify a path to python.exe and matplotlib_cs.py in constructor.
- Call MatplotlibCS instance BuildFigure method to plot the figure.
Examples
// Init engine with right paths
var matplotlibCs = new MatplotlibCS.MatplotlibCS(pythonExePath, dasPlotPyPath);
var figure = new Figure(1, 1)
{
FileName = "ExampleSin.png",
OnlySaveImage = true,
DPI = 150,
Subplots =
{
new Axes(1, "The X axis", "The Y axis")
{
Title = "Sin(x), Sin(2x), VLines, HLines, Annotations",
Grid = new Grid()
{
MinorAlpha = 0.2,
MajorAlpha = 1.0,
XMajorTicks = new[] {0.0, 7.6, 0.5},
YMajorTicks = new[] {-1, 2.5, 0.25},
XMinorTicks = new[] {0.0, 7.25, 0.25},
YMinorTicks = new[] {-1, 2.5, 0.125}
},
PlotItems =
{
new Line2D("Sin")
{
X = X.ToList(),
Y = Y1.ToList(),
LineStyle = LineStyle.Dashed
},
new Line2D("Sin 2x")
{
X = X.ToList(),
Y = Y2.ToList(),
LineStyle = LineStyle.Solid,
LineWidth = 0.5f,
Color = Color.Green,
Markevery = 5,
MarkerSize = 10,
Marker = Marker.Circle
},
new Text("Text annotation", 4.5, 0.76)
{
FontSize = 17
},
new Annotation("Arrow text annotation", 0.5, -0.7, 3, 0)
{
Color = Color.Blue
},
new Vline("vert line", 3.0, -1, 1),
new Hline("hrzt line", new[] {0.1, 0.25, 0.375}, 0, 5) {LineStyle = LineStyle.Dashed, Color = Color.Magenta}
}
}
}
};
var t = matplotlibCs.BuildFigure(figure);
t.Wait();