Java 創建Excel散點圖

Java 創建Excel散點圖
散點圖是指在迴歸分析中,數據點在直角座標系平面上的分佈圖,表示因變量隨自變量而變化的大致趨勢,常用於比較跨類別的聚合數據。在excel中,支持創建散點圖來實現數據分析,本文將通過java程序代碼示例來介紹具體實現方法。

工具:Free Spire.XLS for Java (免費版)

注:可通過官網下載,解壓並將lib文件夾下的jar文件導入java程序。也可通過maven倉庫下載導入。這裏可支持的圖標類型多達70多種,如柱形圖、餅狀圖、折線圖、散點圖、混合圖、雷達圖、氣泡圖等等。本文以創建散點圖爲例。

Java 代碼示例

import com.spire.xls.*;
import com.spire.xls.core.IChartTrendLine;

public class ScatterChart {
public static void main(String[] args) {
//實例化Workbook類的對象,並獲取第一個工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.getWorksheets().get(0);

    //設置列寬,工作表名  
    sheet.getCellRange("A1:B1").setColumnWidth(15f);;  
    sheet.setName("散點圖");  

    //添加圖表數據源  
    sheet.getCellRange("A1").setValue("城市化水平");  
    sheet.getCellRange("A2").setValue("10");  
    sheet.getCellRange("A3").setValue("15");  
    sheet.getCellRange("A4").setValue("17");  
    sheet.getCellRange("A5").setValue("25");  
    sheet.getCellRange("A6").setValue("35");  
    sheet.getCellRange("A7").setValue("40");  
    sheet.getCellRange("A8").setValue("38");  
    sheet.getCellRange("A10").setValue ("17");  
    sheet.getCellRange("A9").setValue ("24");  
    sheet.getCellRange("B1").setValue("耕地面積");  
    sheet.getCellRange("B2").setValue ("26780");  
    sheet.getCellRange("B3").setValue("24086");  
    sheet.getCellRange("B4").setValue ("20546");  
    sheet.getCellRange("B5").setValue ("15057");  
    sheet.getCellRange("B6").setValue ("11036");  
    sheet.getCellRange("B7").setValue ("12546");  
    sheet.getCellRange("B8").setValue("9854");  
    sheet.getCellRange("B9").setValue ("13506");  
    sheet.getCellRange("B10").setValue ("18756");  

    //創建散點圖  
    Chart chart = sheet.getCharts().add(ExcelChartType.ScatterMarkers);  
    chart.setDataRange(sheet.getCellRange("B2:B10"));  
    chart.setSeriesDataFromRange(false);  

    //指定散點圖在sheet中的位置  
    chart.setLeftColumn(4);  
    chart.setTopRow(1);  
    chart.setRightColumn(15);  
    chart.setBottomRow(25);  

    //添加圖表標題、系列標籤  
    chart.setChartTitle("城市化與耕地面積變化散點圖");  
    chart.getChartTitleArea().isBold(true);;  
    chart.getChartTitleArea().setSize(12);  
    chart.getSeries().get(0).setCategoryLabels(sheet.getCellRange("B2:B10"));  
    chart.getSeries().get(0).setValues(sheet.getCellRange("A2:A10"));  
    sheet.getCellRange("A1:B10").getStyle().setHorizontalAlignment(HorizontalAlignType.Center);  
    sheet.getCellRange("A1:B1").getStyle().getFont().isBold(true);  

    //添加趨勢線  
    IChartTrendLine trendLine = chart.getSeries().get(0).getTrendLines().add(TrendLineType.Exponential);  
    trendLine.setName("趨勢線");  

    //添加座標軸名稱  
    chart.getPrimaryValueAxis().setTitle("城市化水平(%)");  
    chart.getPrimaryCategoryAxis().setTitle("耕地面積(萬hm^2)");  

    //保存文檔  
    workbook.saveToFile("ScatterChart.xlsx",ExcelVersion.Version2010);  
    workbook.dispose();  
}  

}
喜歡這樣文章的可以關注我,我會持續更新,你們的關注是我更新的動力!需要更多java學習資料的也可以私信我!
祝關注我的人都:身體健康,財源廣進,福如東海,壽比南山,早生貴子,從不掉髮!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章