Как установить начальную точку оси диапазона в JasperReports BarChart?

Мне нужно изменить начальную точку исходного значения в гистограмме JasperReports. Например, столбцы должны начинаться со 100 вместо 0.

Вот пример набора данных для этого:

Name   | Value  
Item 1 | 200  
Item 2 | 150  
Item 3 | 30  
Item 4 | 60  

На основе этого набора мне нужно нарисовать первую полосу от 100 до 300, вторую от 100 до 250, третью от 100 до 70 и четвертую от 100 до 40.

Есть ли способ сделать это специально с iReport и явно без использования пользовательских шаблонов?


person Cem Güler    schedule 09.03.2012    source источник


Ответы (2)


В меню свойств вашего графика вам нужно изменить «Минимальное значение оси диапазона» на 100. Это сделает так, чтобы оно начиналось со 100, а не с 0.

Единственный способ, которым я знаю, как получить значения, которые вы запрашиваете, - это изменить запрос на "ведро" подсчетов. Например, если бы я хотел показать определенные диапазоны, я бы изменил свой запрос на что-то вроде:

....
case
when value between 51 and 100 then '51-100'
when value between 101 and 500 then '101-500'
when value between 501 and 1000 then '501-1000'
else '1001+'
person precose    schedule 09.03.2012
comment
Спасибо, но таким образом в отчете не отображаются значения элементов ниже 100. (См. Элементы 3 и Элементы 4 в образце набора данных) - person Cem Güler; 09.03.2012
comment
У меня есть данные, необходимые для рисования диаграммы, в качестве образца набора данных, который я дал в вопросе. Однако, если я рисую диаграмму, столбцы начинаются от 0 до соответствующих значений в наборе данных, что является ожидаемым результатом. Я хочу нарисовать столбцы от другого значения (т.е. 100) до другого расчетного (т.е. 100 +/- исходное значение). Так, например, если я начинаю рисовать бары со 100, для пункта 1 бар должен начинаться со 100 и заканчиваться на 300, аналогично для пункта 3 он должен начинаться со 100 и заканчиваться на 70. - person Cem Güler; 09.03.2012

Вам нужно использовать «гистограмму XY» вместо «гистограммы», чтобы контролировать, где находится нижняя часть гистограммы.

person mdahlman    schedule 10.03.2012
comment
Спасибо, но мой тип значения оси X — String. - person Cem Güler; 12.03.2012
comment
Да, но, насколько я знаю, единственный способ нарисовать гистограмму, где нижняя часть не начинается на оси, — это использовать линейчатую диаграмму XY. Обычно не должно быть слишком сложно использовать фиктивные значения 1, 2, 3, ... для значений оси x. - person mdahlman; 12.03.2012
comment
Хорошо, я изменил свой график на XYBar, но не смог найти способ выполнить требование. Не могли бы вы уточнить подробнее? Спасибо :) - person Cem Güler; 13.03.2012