Question

I have never been so annoyed with this wpf toolkit. The documentation is just not there! argh.

How on earth can you connect the lines in a scatter chart?

I need to produce a graph that is linear across multiple series. I prototyped what I need to do using Excels scatter chart just fine, but for the life of me I cannot figure out how to connect the dots in the tool kit.

Here is the code, am I missing an option?

<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)
};
Was it helpful?

Solution

a scatter plot does not connect dots with lines. using a LineSeries instead should connect the dots.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top