OxyPlot is a plotting library for .NET. This package targets Avalonia applications.
dotnet add package OxyPlot.Avalonia
To use the library, add the following to your App.xaml
:
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Sensei.Presentation.Avalonia.App">
<Application.Styles>
<StyleInclude Source="avares://Avalonia.Themes.Default/DefaultTheme.xaml"/>
<StyleInclude Source="avares://Avalonia.Themes.Default/Accents/BaseLight.xaml"/>
<!-- Add the line below to get OxyPlot UI theme applied. -->
<StyleInclude Source="resm:OxyPlot.Avalonia.Themes.Default.xaml?assembly=OxyPlot.Avalonia"/>
<!-- Add the line below to get OxyPlot UI theme applied in Avalonia 11. -->
<StyleInclude Source="avares://OxyPlot.Avalonia/Themes/Default.axaml"/>
</Application.Styles>
</Application>
Then, you can add plots to your application, as such:
<avalonia:Plot Height="150"
PlotMargins="50 0 0 0"
PlotAreaBorderColor="#999999">
<avalonia:Plot.Series>
<avalonia:AreaSeries
DataFieldX="Index"
DataFieldY="Value"
ItemsSource="{Binding Path=Values}"
Color="#fd6d00" />
</avalonia:Plot.Series>
</avalonia:Plot>
See the AvaloniaExamples project and OxyPlot Documentation to learn how to create more complex plots.
To access the latest version of OxyPlot.Avalonia
you can add this repo as a submodule to your own git repo:
mkdir ./external
git submodule add git@github.com:oxyplot/oxyplot-avalonia.git ./external/oxyplot-avalonia
# Reference the ../external/oxyplot-avalonia/Source/OxyPlot.Avalonia/OxyPlot.Avalonia.csproj project then.
Another way is to import our Azure Artifacts NuGet package feed by creating the following nuget.config
file:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear /> <!-- Add other external NuGet package sources here -->
<add key="OxyPlot.Avalonia-CI" value="https://worldbeater.pkgs.visualstudio.com/OxyPlot.Avalonia/_packaging/OxyPlot.Avalonia-CI/nuget/v3/index.json" />
</packageSources>
</configuration>
Next, install the latest preview version of the OxyPlot.Avalonia
package as such:
dotnet add package OxyPlot.Avalonia