DotNet.HighCharts — круговая диаграмма путем заполнения данных кодом

Я смотрю на DotNet.HighCharts и только начинаю пытаться понять его. Я думал сделать что-то более «простое», просто чтобы освоиться, например, с круговой диаграммой.

Я просмотрел следующую ссылку DotNet HighCharts, Populates круговую диаграмму с результатом запроса и хотел попытаться заполнить данные из кода позади. Я хотел сильно заморочиться, чтобы я мог выучить и понять это. Сначала узнайте, как сканировать, прежде чем я научусь работать с ним и заполнять базу данных.

Я думаю, что я не понимаю, как правильно настроить данные серии. Вот как я заполняю объект серии:

  var browers = new List<object[]>();
  browers.Add(new object[] { "Firefox", 35.0 });
  browers.Add(new object[] { "IE", 25 });
  browers.Add(new object[] { "Safari", 20 });
  browers.Add(new object[] { "Opera", 15 });
  browers.Add(new object[] { "Others", 5 });

  List<Series> browserSeries = new List<Series>();

  //I think this is causing the problem
  browserSeries.Add(new Series
  {
        Name = "Browsers",
        Data = new Data(browers.ToArray())
  });

А потом это делается здесь так же, как ссылка:

    .SetSeries(new Series
           {
               Type = ChartTypes.Pie,
               Name = "Browser share",
               Data = new Data(browserSeries.Select(b => new { Name = b.Name, Y = b.Data }).ToArray())
           });

В настоящее время диаграмма не отображает никаких данных. Это просто пусто. Может ли кто-нибудь указать мне в правильном направлении, что я сделал неправильно?

Большое спасибо за помощь.


person Mike Stone    schedule 03.01.2014    source источник
comment
Вы получаете какие-либо ошибки? Как выглядят ваши данные после парсинга? Я меню в javascript? (вы можете использовать console.log(данные) в JS)   -  person Sebastian Bochan    schedule 06.01.2014
comment
Привет, Себастьян! Спасибо за твое предложение использовать console.log. Я даже не подумал об этом. Данные есть, но они искажены. Вот его скриншот: tinypic.com/r/346ozti/5 Так что я определенно сделал неправильно настроил массив. Это довольно очевидно из скриншота. Я думаю, это потому, что я делаю ToArray() дважды, когда я должен делать это только один раз. Я буду продолжать затыкаться в этом. Благодарность!   -  person Mike Stone    schedule 06.01.2014


Ответы (2)


Я сломал его и попытался понять, что я делаю неправильно. Для круговой диаграммы мне не нужна серия. Итак, в основном, когда список объектов был создан, мне просто нужно было установить данные в этот список, например:

.SetSeries(new Series
 {
    Type = ChartTypes.Pie,
    Name = "Browser share",
    Data = new Data(browsers.ToArray())
 });

И круговая диаграмма появилась отлично. Да, я сделал орфографическую ошибку с «browers» ... но, по крайней мере, круговая диаграмма теперь отображается :)

person Mike Stone    schedule 06.01.2014

.SetSeries(new Series
         {
            Type = ChartTypes.Pie,
            Name = "Browser share",
            Data = new Data(new object[] { browers.Select(b => new {Name =b.GetValue(0), Y = b.GetValue(1) }).ToArray() })
         });

Привет, этот код работал для меня.

person Dulasi Ayya    schedule 09.01.2016
comment
'ltrPiechart.Text = (chart2.ToHtmlString().Replace([[,[)).Replace(]],]); - person Dulasi Ayya; 09.01.2016