Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Duplicate titles on legend for line chart (Read 2682 times)
abhi dhotre
YaBB Newbies
*
Offline


I Love MindFusion!

Posts: 28
Joined: Jul 12th, 2017
Duplicate titles on legend for line chart
Oct 16th, 2017 at 10:45pm
Print Post  
Hi,
I'm using a line chart to display multiple series, for every series i'm adding a title but in the legend box each title label is displayed twice. Did not change the code but using the new dll's. I'm sharing my code below:

                       //set chart properties
lineChart1.Title = " ";
lineChart1.Size = new Size(320, 320);
lineChart1.ShowScatter = true;

//Set UI properties
lineChart1.LegendRenderer.Background = new MindFusion.Drawing.SolidBrush(Color.WhiteSmoke);
lineChart1.Theme.AxisStroke = new MindFusion.Drawing.SolidBrush(Color.Black);
lineChart1.Theme.TitleBrush = new MindFusion.Drawing.SolidBrush(Color.Black);


//Assign datasource to chart
lineChart1.DataSource = dt;
lineChart1.XDataFields = new ObservableCollection<string> { "Count" };
lineChart1.XAxisLabelsDataFields = new ObservableCollection<string> { "Month" };
lineChart1.YDataFields = new ObservableCollection<string> { "A", "B", "C", "D", "E", "F", "G", "H" };
lineChart1.DataBind();

//hide ticks and x coordinates
lineChart1.XAxis.MinValue = 0;
lineChart1.XAxis.MaxValue = 10;
lineChart1.ShowXCoordinates = !lineChart1.ShowXCoordinates;

//Set Interval for X and Y Axis
lineChart1.YAxis.MaxValue = 500;
lineChart1.YAxis.Interval = 500;
lineChart1.YAxis.MinValue = 0;

// create brushes of different colors
MindFusion.Drawing.SolidBrush firstBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(69, 114, 167));
MindFusion.Drawing.SolidBrush secondBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(170, 70, 67));
MindFusion.Drawing.SolidBrush thirdBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(137, 165, 78));
MindFusion.Drawing.SolidBrush fourthBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(113, 88, 143));
MindFusion.Drawing.SolidBrush fifthBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(65, 152, 175));
MindFusion.Drawing.SolidBrush sixthBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(228, 108, 10));
MindFusion.Drawing.SolidBrush seventhBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(219, 132, 61));
MindFusion.Drawing.SolidBrush eigthBrush = new MindFusion.Drawing.SolidBrush(Color.FromArgb(147, 169, 207));

// assign one brush per series
lineChart1.Plot.SeriesStyle = new MixedSeriesStyle()
{
CommonFills = new List<MindFusion.Drawing.Brush>()
                        {
                              firstBrush, secondBrush, thirdBrush, fourthBrush, fifthBrush, sixthBrush, seventhBrush, eigthBrush
                        },
CommonStrokes = new List<MindFusion.Drawing.Brush>()
{
firstBrush, secondBrush, thirdBrush, fourthBrush, fifthBrush, sixthBrush, seventhBrush, eigthBrush
},
UniformStrokeThickness = 2
};

//Set axis labels
lineChart1.YAxis.Title = "";
lineChart1.XAxis.Title = "";
lineChart1.Theme.AxisLabelsFontStyle = FontStyle.Bold;
lineChart1.Theme.AxisLabelsFontSize = 8;
lineChart1.Theme.AxisLabelsFontName = "Calibri";
lineChart1.Theme.AxisLabelsBrush = new MindFusion.Drawing.SolidBrush(Color.Black);
lineChart1.XAxisLabelRotationAngle = -90;

// set titles for the legend
((DataBoundSeries)lineChart1.Series[0]).Title = "A";
((DataBoundSeries)lineChart1.Series[1]).Title = "B";
((DataBoundSeries)lineChart1.Series[2]).Title = "C";
((DataBoundSeries)lineChart1.Series[3]).Title = "D";
((DataBoundSeries)lineChart1.Series[4]).Title = "E";
((DataBoundSeries)lineChart1.Series[5]).Title = "F";
((DataBoundSeries)lineChart1.Series[6]).Title = "G";
((DataBoundSeries)lineChart1.Series[7]).Title = "H";

//Set legend
lineChart1.LegendHorizontalAlignment = MindFusion.Charting.Components.LayoutAlignment.Far;
lineChart1.ShowLegendTitle = false;
lineChart1.LegendMargin = new MindFusion.Charting.Margins(1);

//Set Data Labels
lineChart1.Theme.DataLabelsFontSize = 6;
lineChart1.Theme.DataLabelsFontStyle = FontStyle.Bold;
lineChart1.Theme.DataLabelsBrush = new MindFusion.Drawing.SolidBrush(Color.Black);

//Set scatter type
lineChart1.ShowScatter = true;
var scatterRenderer = lineChart1.Plot.
SeriesRenderers.OfType<ScatterRenderer>().FirstOrDefault();
if (scatterRenderer != null)
{
scatterRenderer.Shape = ScatterType.Square;
scatterRenderer.ShapeSize = 5;
}
lineChart1.GridType = GridType.Horizontal;
  
Back to top
 
IP Logged
 
Slavcho
God Member
*****
Offline


tech.support

Posts: 3152
Joined: Oct 19th, 2005
Re: Duplicate titles on legend for line chart
Reply #1 - Oct 17th, 2017 at 10:34am
Print Post  
Hi,

Right, last build broke that, this one should fix it -
https://mindfusion.eu/_beta/chart_stacklabels.zip

Regards,
Slavcho
  
Back to top
 
IP Logged
 
abhi dhotre
YaBB Newbies
*
Offline


I Love MindFusion!

Posts: 28
Joined: Jul 12th, 2017
Re: Duplicate titles on legend for line chart
Reply #2 - Oct 17th, 2017 at 3:42pm
Print Post  
Thanks, Slavcho. New build fixed it. Smiley
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint