Java 建立Excel散点图

散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,表示因变量随自变量而变化的大体趋势,经常使用于比较跨类别的聚合数据。在excel中,支持建立散点图来实现数据分析,本文将经过java程序代码示例来介绍具体实现方法。html

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

注:可经过官网下载,解压并将lib文件夹下的jar文件导入java程序。也可经过maven仓库下载导入。maven

导入效果以下:工具

这里可支持的图标类型多达70多种,如柱形图、饼状图、折线图、散点图、混合图、雷达图、气泡图等等(以下图)。spa

本文以建立散点图为例。3d

 

Java 代码示例excel

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();
    }
}

散点图建立效果:code

相关文章
相关标签/搜索