散点图是研究数据分布时常用的一种工具,通过观察散点图中坐标点的位置,可以帮助用户更加清晰直观的判断变量间是否存在关联关系。 本文将介绍如何使用Free Spire.XLS for Java 在Excel 中创建散点图。
JAR包导入:
方法1:下载 Free Spire.XLS for Java包并解压缩,然后将lib文件夹下的Spire.Xls.jar包作为依赖项导入到Java应用程序中。
方法2: 直接通过Maven仓库安装JAR包,配置pom.xml文件的代码如下
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
创建散点图:
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();
}
}
![91467862dfba28d92f0a9cf4ef11248a.png](https://img-blog.csdnimg.cn/img_convert/91467862dfba28d92f0a9cf4ef11248a.png)