亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Jfreechart學習筆記2-簡單bar圖形創建

系統 1973 0
    
package com.langhua.bar;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;
/**
 *  條狀測試
 * @author Administrator
 *
 */
public class BarChar {
	private static final long serialVersionUID = 1L;

	public static void main(String[] args) {
		//創建數據
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		//數據初始化
		dataset.addValue(1.0, "北京", "蘋果");
		dataset.addValue(7.0, "北京", "香蕉");
		dataset.addValue(-3.0, "北京", "桔子");
		dataset.addValue(2.0, "上海", "蘋果");
		dataset.addValue(3.0, "上海", "香蕉");
		dataset.addValue(2.0, "上海", "桔子");
		//創建 JFreeChart 對象
		JFreeChart chart = ChartFactory.createBarChart("Bar Chart 例子","水果(X)", "價格(Y)", dataset,PlotOrientation.VERTICAL,true,true,false);
		//配置JFreeChart對象相關信息,如:字體大小,顏色,防止亂碼
		BarChar.configFont(chart);
		//輸出
		FileOutputStream fos_jpg = null;
		try {
			fos_jpg = new FileOutputStream("c:\\Bar.jpg");
			ChartUtilities.writeChartAsJPEG(fos_jpg,0.99f,chart,800,600,	null);
			fos_jpg.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	private static void configFont(JFreeChart chart) {
		//設置邊框寬度
		chart.setBorderStroke(new BasicStroke(1));
		//設置邊框是否可見
		chart.setBorderVisible(true);
		//設置邊框著色
		chart.setBorderPaint(Color.cyan);		
		//設置背景顏色
		//chart.setBackgroundPaint(Color.YELLOW);		
		// 配置字體
		Font xfont = new Font("宋體", Font.CENTER_BASELINE, 20);// X軸
		Font yfont = new Font("宋體", Font.CENTER_BASELINE, 20);// Y軸
		Font kfont = new Font("宋體", Font.CENTER_BASELINE, 18);// 底部
		Font titleFont = new Font("微軟雅黑", Font.CENTER_BASELINE, 25); // 圖片標題
		CategoryPlot plot = chart.getCategoryPlot();// 圖形的繪制結構對象
		//數據軸網格線條顏色
		plot.setRangeGridlinePaint(Color.BLUE);
		//數據軸網格線條筆觸
		plot.setRangeGridlineStroke(new BasicStroke(1.0f));
		// 圖片標題
		chart.setTitle(new TextTitle(chart.getTitle().getText(),titleFont));

		// 底部字體樣式,防止亂碼
		chart.getLegend().setItemFont(kfont);

		//X軸
		CategoryAxis domainAxis = plot.getDomainAxis();
		//設置X軸標題字體
		domainAxis.setLabelFont(xfont);
		//設置X軸字體
		domainAxis.setTickLabelFont(xfont);
		//設置字體顏色
		domainAxis.setTickLabelPaint(Color.BLUE);
		//橫軸上的label斜顯示
		domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); 
		//domainAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
		//分類軸邊距,同種類型之間的距離
		//這是分類之間的距離,和BAR與BAR之間的距離有差別
		//domainAxis.setCategoryMargin(0.2f);
		//分類軸下(左)邊距,就是離左邊的距離
		domainAxis.setLowerMargin(0.1);
		//分類軸下(右)邊距,就是離最右邊的距離
		domainAxis.setUpperMargin(0.1);
		
		//Y 軸
		ValueAxis rangeAxis = plot.getRangeAxis();
		//設置Y軸標題字體
		rangeAxis.setLabelFont(yfont);
		//設置Y軸字體
		rangeAxis.setTickLabelFont(yfont);
		// 字體顏色
		rangeAxis.setLabelPaint(Color.RED); 
		//設置Bar的顏色
		BarRenderer renderer = (BarRenderer) plot.getRenderer();
		
		renderer.setSeriesPaint(0, Color.gray);
		renderer.setSeriesPaint(1, Color.orange);
		// 每個BAR之間的間隔
		renderer.setItemMargin(0.0f);
		//每個BAR的最大寬度
		//renderer.setMaximumBarWidth(0.5f);
	}
}

  

亂碼解決的方法
1.重新設置標題的字體和內容
    chart.setTitle(new TextTitle(chart.getTitle().getText(),titleFont));
  

2.重新設置X軸標題字體和刻度字體
    //設置X軸標題字體
domainAxis.setLabelFont(xfont);
//設置X軸字體
domainAxis.setTickLabelFont(xfont);
  

3.重新設置Y軸標題字體和刻度字體
    //設置Y軸標題字體
rangeAxis.setLabelFont(yfont);
//設置Y軸字體
rangeAxis.setTickLabelFont(yfont);
  

4.設置圖象最下方,底部的字體
    
chart.getLegend().setItemFont(kfont);

  


Bar3D的創建和Bar大部分基本相同,但是創建的時候方法不同
    
JFreeChart chart = ChartFactory.createBarChart3D("Bar Chart 例子","水果(X)", "價格(Y)", dataset,PlotOrientation.VERTICAL,true,true,false);

  







Jfreechart學習筆記2-簡單bar圖形創建


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲波多野结衣日韩在线 | h片网站在线观看 | 国产大片91精品免费观看不卡 | 黄色毛片一级 | 中文字幕一区二区三区在线观看 | 777色狠狠一区二区三区 | 91精品日本久久久久久牛牛 | 欧美在线日韩 | 国内精品久久久久丫网址 | 欧美大香| 2020亚洲欧美日韩在线观看 | 中文字幕第13亚洲另类 | japanese55成熟丰满熟 | 老子影院午夜伦不卡不四虎卡 | 日韩中文字幕高清在线专区 | 国产一区二区三区在线免费观看 | 亚洲成人播放 | 欧美理论片大全在线观看 | 久久aa毛片免费播放嗯啊 | 玖玖草视频 | 日本成年一区久久综合 | 国产高清狼人香蕉在线观看 | 精品香蕉视频 | 日韩美视频网站 | 中文字幕有码在线观看 | 玖玖精品国产 | 成 人 黄 色视频免费播放 | 日韩精品在线一区 | 毛片大全在线观看 | 成人黄色一级视频 | 天天夜夜骑 | 57pao一国产成视频永久免费 | 日韩成人免费 | 在线视频 自拍 | 久久国产精品久久国产片 | 欧美与黑人午夜性猛交久久久 | 亚洲天天在线日亚洲洲精 | 国产精品成人麻豆专区 | 成人免费小视频 | 亚洲视频精品在线 | 99re这里有精品 |