Я сделал, чтобы 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));
Вы можете установить TickUnit
на любой удобный DateTickUnitType
. Я использую DAY
в этом примере и MMM
для проверки Locale
:
axis.setTickUnit(new DateTickUnit(DateTickUnitType.DAY, 1,
new SimpleDateFormat("dd.MMM.yy", Locale.GERMAN)));
Поскольку вы являетесь постоянным клиентом, я рассмотрю и второй вопрос: setLabelAngle()
работает отлично, но при этом меняется метка оси в легенде графика. Использование setVerticalTickLabels()
является альтернативой для самих меток тиков:
axis.setVerticalTickLabels(true);