jFreeChart: DateAxis для поведения как CategoryAxis. Только дискретный datevalues, который будет распечатан

Я сделал, чтобы TimeSeries Строил диаграмму с XYdataset, который имеет миллисекунды каждого, датируется. Теперь я хочу иметь диаграмму, которая только отображает каждую дату одно время на оси, каков диапазон дат. Я уже получил его до сих пор, это, только дата печатается, не время (через setNumberFormatOverride () метод). То, что я имею теперь, является этим: сопроводительный текст http://dl.getdropbox.com/u/1144075/Bildschirmfoto%202010-08-05%20um%2016.51.39.JPG

То, что я хочу, является этим: сопроводительный текст http://dl.getdropbox.com/u/1144075/Bildschirmfoto%202010-08-05%20um%2016.54.54.JPG

Это - отрывок моего кода. также, setLabelAngle () метод не работают?!

JFreeChart chart = ChartFactory.createTimeSeriesChart(...);
XYPlot xyplot = (XYPlot)chart.getPlot();
DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();
dateaxis.setLabelAngle(Math.PI / 6.0);`
numberaxis.setNumberFormatOverride((DecimalFormat)DecimalFormat.getInstance(Locale.GERMAN));

1
задан tzippy 5 August 2010 в 14:59
поделиться

1 ответ

Вы можете установить TickUnit на любой удобный DateTickUnitType. Я использую DAY в этом примере и MMM для проверки Locale:

axis.setTickUnit(new DateTickUnit(DateTickUnitType.DAY, 1,
    new SimpleDateFormat("dd.MMM.yy", Locale.GERMAN)));

Поскольку вы являетесь постоянным клиентом, я рассмотрю и второй вопрос: setLabelAngle() работает отлично, но при этом меняется метка оси в легенде графика. Использование setVerticalTickLabels() является альтернативой для самих меток тиков:

axis.setVerticalTickLabels(true);
2
ответ дан 2 September 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: