JFreeChart乱码问题

 增加如下的代码,解决汉字乱码问题

  1. CategoryAxis domainAxis = categoryplot.getDomainAxis();   
  2.   
  3. /*------设置X轴坐标上的文字-----------*/  
  4. domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));   
  5.   
  6. /*------设置X轴的标题文字------------*/  
  7. domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));   
  8.   
  9. /*------设置Y轴坐标上的文字-----------*/  
  10. numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));   
  11.   
  12. /*------设置Y轴的标题文字------------*/  
  13. numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));   
  14.   
  15. /*------这句代码解决了底部汉字乱码的问题-----------*/  
  16. jfreechart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));  



运行效果如下

完整代码

  1. package net.java2000.jfreechat.demo.bar;   
  2.   
  3. import java.awt.Color;   
  4. import java.awt.Dimension;   
  5. import java.awt.Font;   
  6. import java.awt.GradientPaint;   
  7.   
  8. import javax.swing.JPanel;   
  9.   
  10. import org.jfree.chart.ChartFactory;   
  11. import org.jfree.chart.ChartPanel;   
  12. import org.jfree.chart.JFreeChart;   
  13. import org.jfree.chart.axis.CategoryAxis;   
  14. import org.jfree.chart.axis.CategoryLabelPositions;   
  15. import org.jfree.chart.axis.NumberAxis;   
  16. import org.jfree.chart.labels.StandardCategorySeriesLabelGenerator;   
  17. import org.jfree.chart.plot.CategoryPlot;   
  18. import org.jfree.chart.plot.PlotOrientation;   
  19. import org.jfree.chart.renderer.category.BarRenderer;   
  20. import org.jfree.data.category.CategoryDataset;   
  21. import org.jfree.data.category.DefaultCategoryDataset;   
  22. import org.jfree.ui.ApplicationFrame;   
  23. import org.jfree.ui.RefineryUtilities;   
  24.   
  25. public class BarChartDemo1 extends ApplicationFrame {   
  26.   
  27.   public BarChartDemo1(String s) {   
  28.     super(s);   
  29.     JPanel jpanel = createDemoPanel();   
  30.     jpanel.setPreferredSize(new Dimension(500270));   
  31.     setContentPane(jpanel);   
  32.   }   
  33.   
  34.   private static CategoryDataset createDataset() {   
  35.     String s = "每日PV";   
  36.     String s1 = "每日IP数";   
  37.     String s2 = "注册用户数";   
  38.     String s3 = "A网站";   
  39.     String s4 = "B网站";   
  40.     String s5 = "C网站";   
  41.     String s6 = "D网站";   
  42.     String s7 = "E网站";   
  43.     DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();   
  44.     defaultcategorydataset.addValue(1.0D, s, s3);   
  45.     defaultcategorydataset.addValue(4D, s, s4);   
  46.     defaultcategorydataset.addValue(3D, s, s5);   
  47.     defaultcategorydataset.addValue(5D, s, s6);   
  48.     defaultcategorydataset.addValue(5D, s, s7);   
  49.     defaultcategorydataset.addValue(5D, s1, s3);   
  50.     defaultcategorydataset.addValue(7D, s1, s4);   
  51.     defaultcategorydataset.addValue(6D, s1, s5);   
  52.     defaultcategorydataset.addValue(8D, s1, s6);   
  53.     defaultcategorydataset.addValue(4D, s1, s7);   
  54.     defaultcategorydataset.addValue(4D, s2, s3);   
  55.     defaultcategorydataset.addValue(3D, s2, s4);   
  56.     defaultcategorydataset.addValue(2D, s2, s5);   
  57.     defaultcategorydataset.addValue(3D, s2, s6);   
  58.     defaultcategorydataset.addValue(6D, s2, s7);   
  59.     return defaultcategorydataset;   
  60.   }   
  61.   
  62.   private static JFreeChart createChart(CategoryDataset categorydataset) {   
  63.     JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo 1""网站""数值",   
  64.         categorydataset, PlotOrientation.VERTICAL, truetruefalse);   
  65.     CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();   
  66.     categoryplot.setDomainGridlinesVisible(true);   
  67.     categoryplot.setRangeCrosshairVisible(true);   
  68.     categoryplot.setRangeCrosshairPaint(Color.blue);   
  69.     NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();   
  70.     numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());   
  71.     BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();   
  72.     barrenderer.setBaseItemLabelFont(new Font("宋体", Font.PLAIN, 12));   
  73.     barrenderer.setSeriesItemLabelFont(1new Font("宋体", Font.PLAIN, 12));   
  74.   
  75.     CategoryAxis domainAxis = categoryplot.getDomainAxis();   
  76.   
  77.     /*------设置X轴坐标上的文字-----------*/  
  78.     domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));   
  79.   
  80.     /*------设置X轴的标题文字------------*/  
  81.     domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));   
  82.   
  83.     /*------设置Y轴坐标上的文字-----------*/  
  84.     numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));   
  85.   
  86.     /*------设置Y轴的标题文字------------*/  
  87.     numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));   
  88.   
  89.     /*------这句代码解决了底部汉字乱码的问题-----------*/  
  90.     jfreechart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));   
  91.        
  92.     barrenderer.setDrawBarOutline(false);   
  93.     GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(   
  94.         0064));   
  95.     GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F,   
  96.         new Color(0640));   
  97.     GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(   
  98.         6400));   
  99.     barrenderer.setSeriesPaint(0, gradientpaint);   
  100.     barrenderer.setSeriesPaint(1, gradientpaint1);   
  101.     barrenderer.setSeriesPaint(2, gradientpaint2);   
  102.     barrenderer.setLegendItemToolTipGenerator(new StandardCategorySeriesLabelGenerator(   
  103.         "Tooltip: {0}"));   
  104.     CategoryAxis categoryaxis = categoryplot.getDomainAxis();   
  105.     categoryaxis.setCategoryLabelPositions(CategoryLabelPositions   
  106.         .createUpRotationLabelPositions(0.52359877559829882D));   
  107.     return jfreechart;   
  108.   }   
  109.   
  110.   public static JPanel createDemoPanel() {   
  111.     JFreeChart jfreechart = createChart(createDataset());   
  112.     return new ChartPanel(jfreechart);   
  113.   }   
  114.   
  115.   public static void main(String args[]) {   
  116.     BarChartDemo1 barchartdemo1 = new BarChartDemo1("黑体JFreeChart: BarChartDemo1.java");   
  117.     barchartdemo1.pack();   
  118.     RefineryUtilities.centerFrameOnScreen(barchartdemo1);   
  119.     barchartdemo1.setVisible(true);   
  120.   }   
  121. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值