2013-06-27 4 views
0

У меня есть источник данных, в котором есть три отдела, и у каждого отдела есть равные сотрудники, которые равны 8. Я хочу создать круговую диаграмму с помощью jFreeChart, так что сначала мы разбиваем пирог на 3 равные части для отделов, которые составляют 120 'для каждого отдела. Затем в этих разделах я хочу показать продажи каждого сотрудника. Как это сделать в jFreeChart.Круговая диаграмма разбиения на равные части jfreechart

ответ

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); 
     } 
+0

Его просто создать разделы, но как дальше создавать разделы в этом? Благодарю. – wali

+0

make paratition соответственно означает круговую диаграмму, полезную для разбивки, поэтому, когда вы назначаете любого ученика, ваш 100% будет равен 33.33 в соответствии с назначением раздела раздела ниже 33.33, и если вы хотите назначить каждого 8 учеников равным, то 33.33/8 –

2

PieChartDemo1 является хорошей отправной точкой; сосредоточиться на createDataset(); полный комплект source включен в комплект поставки.

Addendum: Как создать разделы?

Ах, вы хотите разделить каждую секцию на 120 °. DefaultPieDataset не поддерживает иерархическую структуру напрямую, но вы можете использовать цвет в PiePlot, чтобы выделить группировку. Создайте соответствующие цвета, используя Color.getHSBColor(), как показано на рисунке here, и используйте setSectionPaint(), чтобы применить цвета соответственно.

+0

Его просто создать разделы, но как дальше создавать разделы в этом? Благодарю. – wali

+0

Я предложил один подход выше. – trashgod

+0

Большое спасибо за ваш ответ. Я ценю это. – wali