#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, диаграмма масштабируется, независимо от того, прозрачна полоса или нет.