public void Test_Layout_RotatedTicksWithRoom() { var plt = new ScottPlot.Plot(400, 300); plt.PlotSignal(DataGen.Sin(51), xOffset: 1e6); plt.PlotSignal(DataGen.Cos(51), xOffset: 1e6); // WARNING: this resets the layout, so you must call Layout() after this plt.XLabel("horizontal axis label"); plt.Ticks(xTickRotation: 45); plt.Layout(xScaleHeight: 50); TestTools.SaveFig(plt); }
public void Test_Layout_RotatedTicksWithRoom() { var plt = new ScottPlot.Plot(400, 300); var s1 = plt.AddSignal(DataGen.Sin(51)); var s2 = plt.AddSignal(DataGen.Cos(51)); s1.OffsetX = 1e6; s2.OffsetX = 1e6; // WARNING: this resets the layout, so you must call Layout() after this plt.XLabel("horizontal axis label"); plt.XAxis.TickLabelStyle(rotation: 45); plt.Layout(bottom: 50); TestTools.SaveFig(plt); }
private string MakeGraph(string[] labels, double[] values) { double[] xs = DataGen.Consecutive(labels.Count()); var plt = new ScottPlot.Plot(1920, 1080); plt.PlotBar(xs, values); // customize the plot to make it look nicer plt.Grid(enableVertical: false, lineStyle: LineStyle.Dot); plt.XTicks(xs, labels); plt.Ticks(fontSize: 25, xTickRotation: 45); plt.Layout(yScaleWidth: 80, titleHeight: 50, xLabelHeight: 200, y2LabelWidth: 20); string path = "graph.png"; plt.SaveFig(path); return path; }
public void Test_DefinedSpacing_DateTimeAxis() { int pointCount = 20; // create a series of dates double[] dates = new double[pointCount]; var firstDay = new DateTime(2020, 1, 22); for (int i = 0; i < pointCount; i++) { dates[i] = firstDay.AddDays(i).ToOADate(); } // simulate data for each date double[] values = new double[pointCount]; Random rand = new Random(0); for (int i = 1; i < pointCount; i++) { values[i] = values[i - 1] + rand.NextDouble(); } var pltDefault = new ScottPlot.Plot(); pltDefault.Title("Default xSpacing"); pltDefault.AddScatter(dates, values); pltDefault.XAxis.DateTimeFormat(true); var pltTest = new ScottPlot.Plot(); pltTest.Title("xSpacing = 1 day"); pltTest.AddScatter(dates, values); pltTest.XAxis.DateTimeFormat(true); pltTest.XAxis.TickLabelStyle(rotation: 45); pltTest.Layout(bottom: 60); // need extra height to accomodate rotated labels // force 1 tick per day on a DateTime axis pltTest.XAxis.ManualTickSpacing(1, ScottPlot.Ticks.DateTimeUnit.Day); //TestTools.SaveFig(pltDefault); //TestTools.SaveFig(pltTest); }