JFreeChart筆記 中文亂碼解決方法

2021-09-30 06:28:03 字數 2386 閱讀 3694

原因: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元件時可能會出現中文亂碼的現象。遇到此問題時,可通過設定文字的字型來解決問題。下面提...