namespace ExampleLibrary { using System; using OxyPlot; using OxyPlot.Axes; using OxyPlot.Series; [Examples("LinearBarSeries"), Tags("Series")] public class LinearBarSeriesExamples { //private static readonly Random Randomizer = new Random(13); [Example("Default style")] [DocumentationExample("Series/LinearBarSeries")] public static PlotModel DefaultStyle() { var model = new PlotModel { Title = "LinearBarSeries with default style" }; model.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom }); model.Axes.Add(new LinearAxis { Position = AxisPosition.Left }); var linearBarSeries = CreateExampleLinearBarSeries(); linearBarSeries.Title = "LinearBarSeries"; model.Series.Add(linearBarSeries); return model; } [Example("With stroke")] public static PlotModel WithStroke() { var model = new PlotModel { Title = "LinearBarSeries with stroke" }; model.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom }); model.Axes.Add(new LinearAxis { Position = AxisPosition.Left }); var linearBarSeries = CreateExampleLinearBarSeries(); linearBarSeries.Title = "LinearBarSeries"; linearBarSeries.FillColor = OxyColor.Parse("#454CAF50"); linearBarSeries.StrokeColor = OxyColor.Parse("#4CAF50"); linearBarSeries.StrokeThickness = 1; model.Series.Add(linearBarSeries); return model; } [Example("With negative colors")] public static PlotModel WithNegativeColors() { return CreateWithNegativeColors(); } [Example("With negative colors (logaritmic)")] public static PlotModel WithNegativeColorsLogarithmic() { return CreateWithNegativeColors(logarithmic: true); } [Example("With BaseValue")] public static PlotModel WithBaseValue() { return CreateWithNegativeColors(baseValue: 50); } [Example("With BaseValue (Logarithmic)")] public static PlotModel WithBaseValueLogarithmic() { return CreateWithNegativeColors(logarithmic: true, baseValue: 50); } public static PlotModel CreateWithNegativeColors(bool logarithmic = false, double baseValue = 0) { var model = new PlotModel { Title = logarithmic ? "LinearBarSeries with stroke (logarithmic)" : "LinearBarSeries with stroke" }; model.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom }); model.Axes.Add(logarithmic ? (Axis)new LogarithmicAxis { Position = AxisPosition.Left } : new LinearAxis { Position = AxisPosition.Left }); var linearBarSeries = CreateExampleLinearBarSeriesWithNegativeValues(); linearBarSeries.Title = "LinearBarSeries"; linearBarSeries.FillColor = OxyColor.Parse("#454CAF50"); linearBarSeries.StrokeColor = OxyColor.Parse("#4CAF50"); linearBarSeries.NegativeFillColor = OxyColor.Parse("#45BF360C"); linearBarSeries.NegativeStrokeColor = OxyColor.Parse("#BF360C"); linearBarSeries.StrokeThickness = 1; linearBarSeries.BaseValue = baseValue; model.Series.Add(linearBarSeries); return model; } /// /// Creates an example linear bar series. /// /// A linear bar series containing random points. private static LinearBarSeries CreateExampleLinearBarSeries() { var linearBarSeries = new LinearBarSeries(); var r = new Random(31); var y = r.Next(10, 30); for (int x = 0; x <= 50; x++) { linearBarSeries.Points.Add(new DataPoint(x, y)); y += r.Next(-5, 5); } return linearBarSeries; } /// /// Creates an example linear bar series with negative values. /// /// A linear bar series containing random points. private static LinearBarSeries CreateExampleLinearBarSeriesWithNegativeValues() { var linearBarSeries = new LinearBarSeries(); var r = new Random(31); for (int x = 0; x <= 50; x++) { var y = -200 + r.Next(1000); linearBarSeries.Points.Add(new DataPoint(x, y)); } return linearBarSeries; } } }