grafico a dispersione del toolkit WPF
-
28-10-2019 - |
Domanda
Non sono mai stato così infastidito da questo toolkit WPF. La documentazione non è lì! Argh.
Come diavolo puoi collegare le linee in un grafico a dispersione?
Devo produrre un grafico lineare tra più serie. Ho prototipato ciò che devo fare usando Excels Scatter Grabello bene, ma per la mia vita non riesco a capire come collegare i punti nel kit di strumenti.
Ecco il codice, mi manca un'opzione?
<my:Chart Name="myChart" Margin="5,5,5,5" Opacity="1" Width="525">
</my:Chart>
ScatterSeries a = new ScatterSeries();
a.Title = "a";
a.IndependentValuePath = "Key";
a.DependentValuePath = "Value";
myChart.Series.Add(a);
a = new ScatterSeries();
a.Title = "b";
a.IndependentValuePath = "Key";
a.DependentValuePath = "Value";
myChart.Series.Add(a);
((ScatterSeries)myChart.Series[0]).ItemsSource = new KeyValuePair<DateTime, int>[]
{
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(1), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(2), 150),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(3), 150),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(4), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(5), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(8), 130),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(9), 130),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(10), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(11), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(15), 225),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(16), 225),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(17), 0)
};
((ScatterSeries)myChart.Series[1]).ItemsSource = new KeyValuePair<DateTime, int>[]
{
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(-21), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(-5), 750),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(3), 750),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(7), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(9), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(10), 330),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(19), 330),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(20), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(21), 0),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(25), 525),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(26), 525),
new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(27), 0)
};
Soluzione
Un diagramma a dispersione non collega i punti con le linee. L'uso di un lineerie invece dovrebbe collegare i punti.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow