oxyplot / oxyplot-avalonia

A cross-platform plotting library for .NET. This package targets Avalonia apps.
https://oxyplot.github.io/
MIT License
274 stars 47 forks source link
avalonia avaloniaui charts dotnet netstandard oxyplot plotting

nuget License Size

OxyPlot.Avalonia

OxyPlot is a plotting library for .NET. This package targets Avalonia applications.

dotnet add package OxyPlot.Avalonia

Usage

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.

Installing Preview Versions

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