JFreechart - метки вертикальной оси X на XYChart - PullRequest
0 голосов
/ 08 декабря 2011

У меня есть XYLineChart, где метки на оси X написаны горизонтально.Я хотел бы иметь возможность писать их вертикально (по убыванию).

Я уже могу сделать это для BarCharts:

CategoryPlot plot = (CategoryPlot) chart.getPlot();
final CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90);

, но XYChart возвращает XYPlot, а не CategoryPlot, иgetDomainAxis () XYPlot возвращает ValueAxis, а не CategoryAxis.ValueAxis позволяет мне звонить

setVerticalTickLabels(true);

, который почти там!Но это привлекает их по возрастанию, а не по убыванию.Любой способ обойти это?

Спасибо,

Редактировать: мне нужно, чтобы ось домена оставалась в нижней части графика.Не думал, что это был какой-то другой способ при создании оригинального сообщения.

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

ValueAxis делает это автоматически в drawTickMarksAndLabels() для оси на кромке RectangleEdge.TOP:

xyPlot.setDomainAxisLocation(AxisLocation.TOP_OR_LEFT);

enter image description here

Пример, основанный на вариации ScatterAdd.

0 голосов
/ 14 декабря 2011

Отвечая на мой собственный вопрос, это оказалось невозможным, поэтому мне пришлось самому добавить функциональность в источник jfreechart.

...