This project is read-only.

Highcharts 2 legends in a seris

Sep 5, 2012 at 12:52 AM
Edited Sep 5, 2012 at 1:00 AM

Hello all,

 

I need to display two two legends on a series.

With my code in MVC4, I get result as 

<img>http://i1055.photobucket.com/albums/s502/highcharts/8292afb3.png</img>

but I would like to get the graph as

<img>http://i1055.photobucket.com/albums/s502/highcharts/c0a63c8b.png</img>

ie., second legend slightly moved from first legend

and my MVC code is

string[] calendarYears = new[] { "2008", "2009", "2010", "2011", "2012", "Average<br/> 2010,2011,2012"};

            Highcharts chart = new Highcharts("ResultsInGraph")
                //.SetTitle(new Title{Text = "ACARA"} )
                .InitChart(new Chart                {                    DefaultSeriesType = ChartTypes.Scatter,                    Inverted = false,                    Style = "margin: '0 auto'",                    SpacingBottom = 0,                    SpacingLeft  = 10,                    Width = 800,                    Height = 400, Reflow = false
                })
                .SetTitle(new Title { Text = "" })
                .SetXAxis(new[]                {                    new XAxis                    {                        Reversed = false,                        Categories = calendarYears,                        GridLineWidth = 1,                        Type = AxisTypes.Linear,                        Labels = new XAxisLabels { Formatter = "function() { return this.value; }" },                        Offset = 19,                        MaxPadding = 0.05,                        ShowLastLabel = true,                        TickInterval = 1,                        ShowFirstLabel = true,                        TickLength = 33,                        TickWidth = 1
                    },                    new XAxis                    {                        Reversed = false,                        Categories = calendarYears,                        //LinkedTo = 0,                        Offset = 19,                        //Type = AxisTypes.Linear,                         GridLineWidth = 1,                        Labels = new XAxisLabels { Formatter = "function() { return this.value; }", Enabled = true },                        
                        ShowLastLabel = false,                        ShowFirstLabel = false,                        TickLength = 1,                        TickWidth = 1,                        //Opposite = true                                        }
                })
                .SetYAxis(new[]                          {                              new YAxis                              {                                  Title = new YAxisTitle { Text = String.Empty },                                  GridLineWidth = 0,                                              LineWidth = 1,                                  ShowLastLabel=true,                                  ShowFirstLabel=true,                                  TickInterval= 50,                                  TickLength = 3,                                  TickWidth = 1,                                              },
                              new YAxis                              {                                  Title = new YAxisTitle { Text = String.Empty },                                  GridLineWidth = 0,                                       Offset = 19,                                  //LinkedTo = 1,                                  Labels = new YAxisLabels { Formatter = "function() { return this.value; }", Enabled = false },                                  LineWidth = 0,                                  ShowLastLabel=true,                                  ShowFirstLabel=true,                                  TickInterval= 50,                                  TickLength = 3,                                  TickWidth = 1,                                              }
                          })


                .SetLegend(new Legend { Enabled = false})                .SetTooltip(new Tooltip { Enabled = true,                                 Formatter = @"function() { return this.y ; }" });
                             chart.SetSeries(new[]                       {                           new Series { Name = "2008-1",    Type = ChartTypes.Line, XAxis = 0, YAxis = 0,  Data = new Data(new object[]                                                                                                    {                                                                                                        new object[] {0, 205},                                                                                                         new object[] {0, 300}                                                                                                    }                                                                                                    ),                                 PlotOptionsSeries = new PlotOptionsSeries() { Selected = false, Visible = true,    PointStart = new PointStart(1),                                    DataLabels = new PlotOptionsSeriesDataLabels()  { Color = System.Drawing.Color.Red, StaggerLines = 2} ,                                                                         AllowPointSelect = true,  Marker = new PlotOptionsSeriesMarker { Symbol = "url(/Images/Line.png)", Radius = 10 }},                                     PlotOptionsLine = new PlotOptionsLine() { LineWidth = 1,  Color = System.Drawing.Color.CornflowerBlue } ,                                                                                                                                                                                                                                                                                                                                                                       },
                           new Series                            { Name = "2008-2", XAxis = 0, YAxis = 0, Data = new Data(new object[]                                                                {                                                                    new object[] {0, 245}                                                                }),                                 PlotOptionsSeries = new PlotOptionsSeries()                                     {  Visible = true, AllowPointSelect = true, Marker = new PlotOptionsSeriesMarker { Symbol = "diamond", Radius = 10 , FillColor = System.Drawing.Color.CornflowerBlue}}, PlotOptionsLine = new PlotOptionsLine() { LineWidth = 0 }  },                        new Series { Name = "2008X-1",  Type = ChartTypes.Line, XAxis = 1, YAxis = 0, Data = new Data(new object[]                                                                                                    {                                                                                                        new object[] {0, 400},                                                                                                         new object[] {0, 615}                                                                                                    }                                                                                                     ),                                                                                                                                     PlotOptionsSeries = new PlotOptionsSeries() { Selected = false, Visible = true,  PointStart = new PointStart(0),                                                                        DataLabels = new PlotOptionsSeriesDataLabels()  { Color = System.Drawing.Color.Salmon, StaggerLines = 2} ,                                                                         AllowPointSelect = true,  Marker = new PlotOptionsSeriesMarker { Symbol = "url(/Images/Line.png)", Radius = 10 }},                                     PlotOptionsLine = new PlotOptionsLine() { LineWidth = 1,  Color = System.Drawing.Color.Salmon } ,                                                                                                                                                                                                                                                                                                                                                                       },
                           new Series                            { Name = "2008X-2",   XAxis = 1, YAxis = 0, Data = new Data(new object[]                                                                {                                                                    new object[] {0, 545}                                                                }),                                 PlotOptionsSeries = new PlotOptionsSeries()                                     {Visible = true, AllowPointSelect = false,                                         Marker = new PlotOptionsSeriesMarker { Symbol = "circle", Radius = 8 , FillColor = System.Drawing.Color.Salmon}},                                     PlotOptionsLine = new PlotOptionsLine() { LineWidth = 0 }  },

                       });

            return View(chart);