Jfree Использование пользовательских имен для категорий
Я очень новичок в Jfreechart. Пожалуйста, помогите мне найти решение для этого, я использую jfree, чтобы нарисовать график для категорий, которые имеют конкретные кодовые имена, такие как 563,258.855 и т. Д. Так что я хочу назначить эти значения как метки для оси домена, но по умолчанию она присваивает категориям значение1, значение2, значение3 и т. д.
Но я хочу сделать что-то вроде ниже
и вот мой код,
final CategoryDataset dataset1 = DatasetUtilities.createCategoryDataset("Month to Date Occurences","value", data);
JFreeChart dualchart = ChartFactory.createBarChart(
"Top Ten Diagnostic Occurences", // chart title
"Category", // domain axis label
"Score", // range axis label
dataset1, // data
PlotOrientation.HORIZONTAL, // orientation
true, // include legend
true,
false
);
CategoryPlot plot = dualchart.getCategoryPlot();
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
plot.setBackgroundPaint(Color.WHITE);
plot.setRangeGridlinePaint(Color.black);
BarRenderer renderer= (BarRenderer) plot.getRenderer();
renderer.setItemMargin(0.0);
CategoryAxis domainAxis = plot.getDomainAxis ();
domainAxis.setCategoryMargin(0.30); //distance between series
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setRange(0.0, 100.0);
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
return dualchart;
Ваши предложения приветствуются, заранее спасибо.
1 ответ
Вы не включили код для dataset1
поэтому трудно сказать, в чем проблема, но если вы используете что-то вроде этого:
private static CategoryDataset createDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(15, "1", "451");
dataset.addValue(12, "1", "851");
dataset.addValue(10, "2", "362");
dataset.addValue(5, "2", "142");
return dataset;
}
Вы получите такой график: