Point Series Palette Broken

2 posts, 0 answers
  1. David
    David avatar
    1 posts
    Member since:
    Jun 2015

    Posted 19 Nov 2015 Link to this post


    I think there is a bug when defining a ChartPalette with a series family for points.  It is not coloring the points according to the series palette.  Say I have a chart with a mixed set of line and point series.  I add two PaletteEntryCollections for each series family:

    ChartPalette palette = LinePalette;
     palette.SeriesEntries.Add(new PaletteEntryCollection());
     palette.SeriesEntries.Add(new PaletteEntryCollection());
     palette.SeriesEntries[0].SeriesFamily = "Line";
     foreach (ChartTimeSeries serie in model.ChartData.Where(s => s.Type == typeof(LineSeries)))
         SolidColorBrush brush = new SolidColorBrush(serie.Color);
         PaletteEntry pe = new PaletteEntry(brush, brush);
     palette.SeriesEntries[1].SeriesFamily = "Point";
     palette.SeriesEntries[1].Add(new PaletteEntry(new SolidColorBrush(Colors.Yellow)));
     palette.SeriesEntries[1].Add(new PaletteEntry(new SolidColorBrush(Colors.Purple)));
    I assign this palette to the chart.  Both the lines and point series do not correspond to the correct colors.  They points should alternate yellow/purple, but they are all purple.  I've played around with this a lot to try and discover a pattern.  I used this with Bar series and it seems to work just fine.  It's only a problem with point/line series.  My workaround is that I have to create a global palette for both the line and point series with the correct ordering of colors to get it to render properly.  All the examples I've seen from Telerik use Area/Bar charts with this feature.  I am using the most recent Telerik.  Anyone else see this problem?

  2. Petar Marchev
    Petar Marchev avatar
    996 posts

    Posted 20 Nov 2015 Link to this post

    Hello David,

    I am attaching a small project that demonstrates how the palette works.

    The chart palette is not very intuitive, and you simply expect it to do something that it is not designed to do. See in the attached project that there are four series in total, two line series, two point series. The palette defines two PaletteEntryCollections, one for the line series with a red and green brush, and one collection for the point series with yellow and purple brush.

    In the attached image you can see that indeed the line series got their colors based on their corresponding palette entry collection - one line is red, one is green. The same goes for the point series, both the point series got their colors from their corresponding collection, one point series is yellow, one point series is purple.

    It is not expected for the points within a single series to get two different colors. Did I understand correctly, that this is what you need to do? Do you have a single point series and need to get alternating point colors?

    If this is the case, I suggest you do not use a palette, you can get this via the DefaultVisualStyleSelector capabilities of the series. In the style selector you can check the Index of the data point and return one of two predefined styles. Let us know if this works for you.

    Petar Marchev
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Back to Top