-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSurveyChart.java
More file actions
138 lines (118 loc) · 4.62 KB
/
SurveyChart.java
File metadata and controls
138 lines (118 loc) · 4.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import java.text.AttributedString;
import java.text.DecimalFormat;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
public class SurveyChart {
/**
* @param args
*/
public static void main(String[] args) {
JFreeChart chart = createChart(createDatasetG());
try {
ChartUtilities.saveChartAsJPEG(new File("/Users/SPC/Desktop/G.jpg"), chart, 400, 400);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Finished.");
}
// public static String title =
// "B.) Effectiveness of overall SOPAC Division communication practices";
// public static String title =
// "C.) Staff level of personal job satisfaction";
// public static String title =
// "D.) Staff view of quality of leadership/programme management";
// public static String title =
// "E.) Staff awareness of the bigger SPC/SOPAC picture following integration";
// public static String title =
// "F.) Awareness of other SPC policies & practices";
public static String title = "G.) Impression of the SPC system in place to address staff grievances";
private static PieDataset createDatasetB() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Excellent", new Double(13.7254902000));
dataset.setValue("Good", new Double(38.2352941200));
dataset.setValue("Fair", new Double(28.7581699300));
dataset.setValue("Poor", new Double(10.4575163400));
dataset.setValue("Not Good", new Double(8.8235294100));
return dataset;
}
private static PieDataset createDatasetC() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Excellent", new Double(27.2727272700));
dataset.setValue("Good", new Double(40.9982174700));
dataset.setValue("Fair", new Double(14.0819964300));
dataset.setValue("Poor", new Double(6.7736185400));
dataset.setValue("Not Good", new Double(10.8734402900));
return dataset;
}
private static PieDataset createDatasetD() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Excellent", new Double(21.0084033600));
dataset.setValue("Good", new Double(42.0168067200));
dataset.setValue("Fair", new Double(16.2464986000));
dataset.setValue("Poor", new Double(10.3641456600));
dataset.setValue("Not Good", new Double(10.3641456600));
return dataset;
}
private static PieDataset createDatasetE() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Excellent", new Double(14.3288084500));
dataset.setValue("Good", new Double(40.5731523400));
dataset.setValue("Fair", new Double(24.7360482700));
dataset.setValue("Poor", new Double(9.0497737600));
dataset.setValue("Not Good", new Double(11.3122171900));
return dataset;
}
private static PieDataset createDatasetF() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Excellent", new Double(9.8039215700));
dataset.setValue("Good", new Double(21.5686274500));
dataset.setValue("Fair", new Double(21.5686274500));
dataset.setValue("Poor", new Double(15.6862745100));
dataset.setValue("Not Good", new Double(31.3725490200));
return dataset;
}
private static PieDataset createDatasetG() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Excellent", new Double(22.8758169900));
dataset.setValue("Good", new Double(35.9477124200));
dataset.setValue("Fair", new Double(17.6470588200));
dataset.setValue("Poor", new Double(13.7254902000));
dataset.setValue("Not Good", new Double(9.8039215700));
return dataset;
}
private static JFreeChart createChart(PieDataset dataset) {
JFreeChart chart = ChartFactory.createPieChart3D(title,
dataset, // data
true, // include legend
true, false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
plot.setNoDataMessage("No data available");
plot.setCircular(true);
plot.setLabelGap(0.1);
plot.setLabelGenerator(new StandardPieSectionLabelGenerator() {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public String generateSectionLabel(PieDataset d, Comparable key) {
DecimalFormat df = new DecimalFormat("#.##");
return key.toString() + "\r\n " + df.format(d.getValue(key)) + "%";
}
@Override
public AttributedString generateAttributedSectionLabel(PieDataset arg0, Comparable arg1) {
return null;
}
});
return chart;
}
}