Live Charts WPFを使い始めた.
Line ChartとScatter Plotはそれぞれあるが,どうしてだろう 2つを組み合わせて使用する方法が書いていない.
Live Chartsに関してGitHubで質問が上がっていた.
https://github.com/Live-Charts/Live-Charts/issues/737
結局のところ2019年初の段階で 質問にまともに答えていないのだ.
ところが,現在Tutorial and Examples (https://lvcharts.net/App/examples/v1/wpf/Date%20Time)がようやく追い付いてきたようだ.サンプルではDateTimeを横軸に設定しているが,doubleに置き換えることは当然可能である.例えば以下のように行う(MahAppsも一緒に使っているが必須ではないのはご存じの通りです).
using MahApps.Metro.Controls;
using LiveCharts;
using LiveCharts.Wpf;
using LiveCharts.Configurations;
namespace LiveChartsTEST
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
ChartData cd = new ChartData();
var xypointConfig = Mappers.Xy<XYPointModel>()
.X(model => model.ValueX)
.Y(model => model.ValueY);
var sc = new SeriesCollection(xypointConfig)
{
new LineSeries
{
Values = new ChartValues<XYPointModel>
{
new XYPointModel
{
ValueX = 0,
ValueY = 5
},
new XYPointModel
{
ValueX = 10,
ValueY = 9
}
}
}
};
cd.seriesCollection = sc;
this.DataContext = cd;
}
public class ChartData
{
public SeriesCollection seriesCollection { get; set; }
}
public class XYPointModel
{
public double ValueX { get; set; }
public double ValueY { get; set; }
}
}
}
XAMLについて以下のようにしておくなど 必要かも
<lvc:CartesianChart Series="{Binding seriesCollection}" LegendLocation="Bottom" />