У меня есть источник данных, в котором есть три отдела, и у каждого отдела есть равные сотрудники, которые равны 8. Я хочу создать круговую диаграмму с помощью jFreeChart, так что сначала мы разбиваем пирог на 3 равные части для отделов, которые составляют 120 'для каждого отдела. Затем в этих разделах я хочу показать продажи каждого сотрудника. Как это сделать в jFreeChart.Круговая диаграмма разбиения на равные части jfreechart
0
A
ответ
2
public class PieChart extends JFrame {
private PieDataset createDataset() {
DefaultPieDataset result = new DefaultPieDataset();
result.setValue("department1", 33.33);
result.setValue("department2", 33.33);
result.setValue("department3", 33.33);
return result;
}
private JFreeChart createChart(PieDataset dataset, String title) {
JFreeChart chart = ChartFactory.createPieChart3D(title, // chart title
dataset, // data
true, // include legend
true,
false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setStartAngle(290);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.5f);
return chart;
}
}
public static void main(String[] args) {
PieChart demo = new PieChart("Comparison", "Which operating system are you using?");
demo.pack();
demo.setVisible(true);
}
2
PieChartDemo1
является хорошей отправной точкой; сосредоточиться на createDataset()
; полный комплект source включен в комплект поставки.
Addendum: Как создать разделы?
Ах, вы хотите разделить каждую секцию на 120 °. DefaultPieDataset
не поддерживает иерархическую структуру напрямую, но вы можете использовать цвет в PiePlot
, чтобы выделить группировку. Создайте соответствующие цвета, используя Color.getHSBColor()
, как показано на рисунке here, и используйте setSectionPaint()
, чтобы применить цвета соответственно.
Его просто создать разделы, но как дальше создавать разделы в этом? Благодарю. – wali
make paratition соответственно означает круговую диаграмму, полезную для разбивки, поэтому, когда вы назначаете любого ученика, ваш 100% будет равен 33.33 в соответствии с назначением раздела раздела ниже 33.33, и если вы хотите назначить каждого 8 учеников равным, то 33.33/8 –