Как должны выглядеть значения для диаграммы Google?

#c# #google-visualization

#c# #google-визуализация

Вопрос:

Я использую NGChart для создания диаграмм через Googles chart API на C #.

 BarChart _budgetChart = new BarChart(BarsType.Stacked, BarsDirection.Vertical, new ChartSize(500, 100), new ChartData(new int[] { 60, 20, 1 }));
  

когда я использую этот код, я получаю гистограмму, которая выглядит следующим образом: http://chart.apis.google.com/chart?chd=s:8UBamp;cht=bvsamp;chs=500×100

На самом деле у меня нет идеи, почему панель является полноразмерной со значением 60. Я бы предпочел использовать процентные значения данных, так, например, значение 100 рисует полосу, которая идет до самого верха, значение 50 рисует полосу с половинной высотой (в этом примере будет 50 пикселей, поскольку мой график имеет высоту 100 пикселей) — как мне это сделать? Я ничего не нашел в документах NGChart.

API GoogleChartSharp делает это точно так же, поэтому я думаю, что, возможно, есть специальное свойство или что-то подобное, которое я должен установить.

Редактировать: я не понимаю.. Я попробовал максимальное значение, которое равно 61. На этой диаграмме первые 3 значения равны 10, а последнее — 61, поэтому 61 — это наибольшее значение, которое работает для правильного вывода. Если значение больше 61 (в этом примере 62), вся диаграмма уменьшается.

Пример 1 (значение 61): http://chart.apis.google.com/chart?chd=s:KKK9amp;cht=bvsamp;chs=300×100 Пример 2 (значение 62): http://chart.apis.google.com/chart?chd=e:AKAKAKA-amp;cht=bvsamp;chs=300×100

Я просто не понимаю, как Google обрабатывает значения.

Ответ №1:

я не могу найти никакой информации о свойстве в NGChart, но могу предложить этот обходной путь: вы можете нарисовать полосу со значением 100, но сделать это прозрачным цветом

 BarChart _budgetChart = new BarChart(BarsType.Stacked, BarsDirection.Vertical, 
new ChartSize(500, 100), 
new ChartData(new int[] { 60, 20, 1, 100 }));
_budgetChart.Colors = new ChartColors(new[] {Color.Red,Color.Red,Color.Red,Color.Transparent});
  

это должно дать вам желаемый результат, но это обходной путь… так что будьте осторожны =)

Комментарии:

1. Хорошо, спасибо, но это не сработало. Смотрите мой первый пост, я отредактировал некоторую информацию. Если наибольшее значение больше 61, диаграмма масштабируется. Итак, если я нарисую полосу со значением 100, диаграмма масштабируется, независимо от того, прозрачна полоса или нет.