jfreechart中文亂碼的解決方法
使用jfreechart繪製圖表的時候,如果使用預設的字型會導致圖示中的漢字顯示為亂碼。解決方法如下:
jfreechart是使用者使用該庫提供的各類圖示的統一介面,jfreechart主要由三個部分構成:title(標題),legend(圖釋),plot(圖表主體)。三個部分設定字型的方法分別如下:
1.title
view plaincopy to clipboardprint?
texttitle texttitle = freechart.gettitle();
texttitle.setfont(new font("宋體",font.bold,20));
texttitle texttitle = freechart.gettitle();
texttitle.setfont(new font("宋體",font.bold,20));
2.legent
view plaincopy to clipboardprint?
legendtitle legend = freechart.getlegend();
if (legend!=null)
legendtitle legend = freechart.getlegend();
if (legend!=null)
3.plot
對於不同型別的圖表對應plot的不同的實現類,設定字型的方法也不完全相同。
對於使用categoryplot的圖表(如柱狀圖):
view plaincopy to clipboardprint?
categoryplot plot = (categoryplot)freechart.getplot();
categoryaxis domainaxis = plot.getdomainaxis();//(柱狀圖的x軸)
domainaxis.setticklabelfont(new font("宋體",font.bold,20));//設定x軸座標上的字型
domainaxis.setlabelfont(new font("宋體",font.bold,20));//設定x軸上的標題的字型
valueaxis valueaxis = plot.getrangeaxis();//(柱狀圖的y軸)
valueaxis.setticklabelfont(new font("宋體",font.bold,20));//設定y軸座標上的字型
valueaxis.setlabelfont(new font("宋體",font.bold,20));//設定y軸座標上的標題的字型
categoryplot plot = (categoryplot)freechart.getplot();
categoryaxis domainaxis = plot.getdomainaxis();//(柱狀圖的x軸)
domainaxis.setticklabelfont(new font("宋體",font.bold,20));//設定x軸座標上的字型
domainaxis.setlabelfont(new font("宋體",font.bold,20));//設定x軸上的標題的字型
valueaxis valueaxis = plot.getrangeaxis();//(柱狀圖的y軸)
valueaxis.setticklabelfont(new font("宋體",font.bold,20));//設定y軸座標上的字型
valueaxis.setlabelfont(new font("宋體",font.bold,20));//設定y軸座標上的標題的字型
對於使用pieplot的圖示(如餅狀圖):
view plaincopy to clipboardprint?
pieplot plot = (pieplot)freechart.getplot();
plot.setlabelfont(new font("宋體",font.bold,15));
亂碼問題 Qt中文亂碼問題
接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...
中午亂碼 html亂碼問題
亂碼問題的原因 計算機只識別0,1,在計算機中的任何內容最終都會轉化為0,1這種二進位制編碼來儲存。如果一旦在編碼或者解碼的過程 現問題均會造成亂碼問題。產生亂碼的根本原因 編碼和解碼所採用的字符集不同。首先了解一下基本知識 常用的字符集 ascii,ioso 8859 1,gbk,gb2312,u...
jsp亂碼問題
在jsp頁面中出現亂碼 你可以用像這樣的語句來處理,iso 8859 1是網上統一的一種編碼方式 stringname.getbytes iso 8859 1 gbk 在mysql中的亂碼 你可以在建表的時候指定字符集,形如這樣 create table cr user id integer uns...