2016-04-15 3 views
1

Это то, что я пробовал:Можно ли предопределить максимальное значение оси Y в JFreeChart?

XYPlot plot = (XYPlot) chart.getPlot(); 
    ValueAxis yAxis = plot.getRangeAxis(); 
    yAxis.setRange(0.0, 4000.0); 
    XYPlot plot = (XYPlot) chart.getPlot(); 
    ValueAxis yAxis = plot.getRangeAxis(); 
    yAxis.setRange(0.0, 4000.0); 

Но я получил это исключение:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jfree.chart.plot.CategoryPlot cannot be cast to org.jfree.chart.plot.XYPlot 

Любые предложения?

+2

Предположительно chart.getPlot() возвращает CategoryPlot. Как говорится в сообщении об ошибке, вы не можете использовать CATPlot для XYPlot. – FredK

ответ

2

Исключение довольно самоочевидно: вы пытаетесь передать результат chart.getPlot() вызовом класса XYPlot, но на самом деле это CategoryPlot.

Вы можете найти в JFreeChart docs подходящий способ установки диаграммы Plot при необходимости, то есть: XYPlot, а затем установить нужный диапазон.

Подсказка: посмотрите на JFreeChart класс constructor.

Вы также можете посмотреть на JFreeChart#getXYPlot():

Возвращает участок ввергнуть как XYPlot.

ПРИМЕЧАНИЕ: если участок не является экземпляром XYPlot, то бросается ClassCastException.

+0

im new to jfreechart. вы можете дать мне пример кода? –

+0

Нет, я не могу. В Stack Overflow есть много примеров. Просто Google для них! :) – dic19

+0

чувак .. серьезно? : p ok il дать снимок –