原因:jfreechart預設選用的字型不支援中文
解決:通過setfont()手動設定出現亂碼部分的字型
標題部分:
chart.gettitle().setfont(new font("黑體",font.bold,20));//設定標題字型
圖表區域:
pieplot pieplot= (pieplot) chart.getplot();//獲取圖表區域物件
pieplot.setlabelfont(new font("黑體",font.bold,10));
legend部分:
chart.getlegend().setitemfont(new font("黑體",font.bold,10));
柱狀圖(categoryplot):categoryplot plot=chart.getcategoryplot();//獲取圖表區域物件
categoryaxis domainaxis=plot.getdomainaxis();
//水平底部列表
domainaxis.setlabelfont(new font("黑體",font.bold,14));
//水平底部標題
domainaxis.setticklabelfont(new font("宋體",font.bold,12));
//垂直標題
valueaxis rangeaxis=plot.getrangeaxis();//獲取柱狀
rangeaxis.setlabelfont(new font("黑體",font.bold,15));
chart.getlegend().setitemfont(new font("黑體", font.bold, 15));
餅圖(pieplot):
jfreechart chart = chartfactory.createpiechart3d("it行業職業分布圖", dataset, true, false, false);
chart.gettitle().setfont(new font("黑體",font.bold,20));//設定標題字型
pieplot pieplot= (pieplot) chart.getplot();//獲取圖表區域物件
pieplot.setlabelfont(new font("黑體",font.bold,10));
chart.getlegend().setitemfont(new font("黑體",font.bold,10));
時序圖(timeseries)
xyplot plot = (xyplot) chart.getplot();
//縱軸字型
plot.getrangeaxis().setlabelfont(new font("宋體", font.bold, 15));
//橫軸框裡的標題字型
chart.getlegend().setitemfont(new font("宋體", font.italic, 15));
//橫軸列表字型
plot.getdomainaxis().setticklabelfont(new font("新宋體", 1, 15));
//橫軸小標題字型
plot.getdomainaxis().setlabelfont(new font("新宋體", 1, 12));
折線圖chart.gettitle().setfont(new font("宋體", font.bold, 15));
chart.getlegend().setitemfont(new font("黑體", font.bold, 15));
categoryaxis domainaxis = plot.getdomainaxis();
/*------設定x軸座標上的文字-----------*/
domainaxis.setticklabelfont(new font("黑體", font.plain, 11));
/*------設定x軸的標題文字------------*/
domainaxis.setlabelfont(new font("宋體", font.plain, 12));
numberaxis numberaxis = (numberaxis) plot.getrangeaxis();
/*------設定y軸座標上的文字-----------*/
numberaxis.setticklabelfont(new font("黑體", font.plain, 12));
/*------設定y軸的標題文字------------*/
numberaxis.setlabelfont(new font("黑體", font.plain, 12))
JfreeChart 解決中文亂碼問題
中文亂碼的解決方案 由於jfreechart元件的版本 操作平台 jdk的設定等因素,在使用jfreechart元件時可能會出現中文亂碼的現象。遇到此問題時,可通過設定亂碼文字的字型來解決。在此提供以下兩種解決此問題的方法。設定主題樣式 在製圖前,建立主題樣式並指定樣式中的字型,通過chartfac...
解決JfreeChart中文亂碼問題
jfreechart中文亂碼問題一直困擾很多的朋友,我學習得時候也一樣,下面幾段 可以用來解決這個問題。texttitle texttitle chart.gettitle texttitle.setfont new font 宋體 font.bold,20 legendtitle legend c...
jfreechart中文亂碼解決辦法總結
freechart元件操作平台各種因素很可能導致中文亂碼了,下面我來給大家總結一下關於jfreechart中文亂碼解決方法。由於jfreechart元件的版本 操作平台 jdk的設定等因素,在使用jfreechart元件時可能會出現中文亂碼的現象。遇到此問題時,可通過設定文字的字型來解決問題。下面提...