JFreeChart簡單例子_建立柱狀圖(當遇到中文亂碼時,將各個部分的字型分別設定一下就行了)
阿新 • • 發佈:2019-02-04
public static JFreeChart getChart(CategoryDataset dataset)
{
//此標題 ‘某社團各部門 ’將被後面的chart.setTitle的標題 ‘某社團各部門柱狀圖’ 覆蓋
JFreeChart chart = ChartFactory.createBarChart("某社團各部門","部門名稱",
"人員數量",dataset,PlotOrientation.VERTICAL,true,true,false);
//設定柱狀圖 主標題的文字
chart.setTitle(new TextTitle("某社團各部門柱狀圖",new Font("宋 體",Font.BOLD+Font.ITALIC,20)));
//設定柱狀圖最下方說明的文字
chart.getLegend().setItemFont(new Font("微軟雅黑",Font.BOLD,12));
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryAxis axis = plot.getDomainAxis();
//設定X軸座標上標題的文字
axis.setLabelFont(new Font("微軟雅黑",Font.BOLD,22));
//設定X軸座標上的文字,
axis.setTickLabelFont(new Font("微軟雅黑",Font.BOLD,12));
ValueAxis valueAxis = plot.getRangeAxis();
//設定Y軸座標上標題的文字
valueAxis.setLabelFont(new Font("微軟雅黑",Font.BOLD,12));
//設定Y軸座標上的文字
valueAxis.setTickLabelFont(new Font("sans-serif",Font.BOLD,12));
return chart;
}
public static JPanel createPanel()
{
JFreeChart chart = getChart(getDataset());
return new ChartPanel(chart);
}
public static void main(String[] args)
{
JFreeChartTest2 chartFrame = new JFreeChartTest2("某社團各部門分佈圖");
chartFrame.pack();
chartFrame.setVisible(true);
}
}
{
//此標題 ‘某社團各部門 ’將被後面的chart.setTitle的標題 ‘某社團各部門柱狀圖’ 覆蓋
JFreeChart chart = ChartFactory.createBarChart("某社團各部門","部門名稱",
"人員數量",dataset,PlotOrientation.VERTICAL,true,true,false);
//設定柱狀圖 主標題的文字
chart.setTitle(new TextTitle("某社團各部門柱狀圖",new Font("宋 體",Font.BOLD+Font.ITALIC,20)));
//設定柱狀圖最下方說明的文字
chart.getLegend().setItemFont(new Font("微軟雅黑",Font.BOLD,12));
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryAxis axis = plot.getDomainAxis();
//設定X軸座標上標題的文字
axis.setLabelFont(new Font("微軟雅黑",Font.BOLD,22));
//設定X軸座標上的文字,
axis.setTickLabelFont(new Font("微軟雅黑",Font.BOLD,12));
ValueAxis valueAxis = plot.getRangeAxis();
//設定Y軸座標上標題的文字
valueAxis.setLabelFont(new Font("微軟雅黑",Font.BOLD,12));
//設定Y軸座標上的文字
valueAxis.setTickLabelFont(new Font("sans-serif",Font.BOLD,12));
return chart;
}
public static JPanel createPanel()
{
JFreeChart chart = getChart(getDataset());
return new ChartPanel(chart);
}
public static void main(String[] args)
{
JFreeChartTest2 chartFrame = new JFreeChartTest2("某社團各部門分佈圖");
chartFrame.pack();
chartFrame.setVisible(true);
}
}