散点图是通过两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点,值由点在图表中的位置表示,类别由图表中的不同标记表示,通常用于比较跨类别的聚合数据。本文将为您介如何通过Java代码在PowerPoint幻灯片中创建散点图。以下是我整理的具体方法及思路,并附上Java代码供大家参考。

代码编译环境:

IntelliJ IDEA 2018(jdk 1.8.0)

Presentation Jar包:Free Spire.Presentation for Java 5.1.0

引入jar

导入方法1:

手动引入。将Free Spire. Presentation for Java下载到本地,解压,找到lib文件夹下的Spire. Presentation.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

  1. <repositories>
  2.  
  3. <repository>
  4.  
  5. <id>com.e-iceblue</id>
  6.  
  7. <name>e-iceblue</name>
  8.  
  9. <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
  10.  
  11. </repository>
  12.  
  13. </repositories>
  14.  
  15. <dependencies>
  16.  
  17. <dependency>
  18.  
  19. <groupId>e-iceblue</groupId>
  20.  
  21. <artifactId>spire.presentation.free</artifactId>
  22.  
  23. <version>5.1.0</version>
  24.  
  25. </dependency>
  26.  
  27. </dependencies>

创建散点图

下面是创建散点图的具体方法和步骤:

  • 创建 Presentation 类的实例。
  • 使用 ShapeCollection.appendChart() 方法将散点图附加到特定的幻灯片。
  • 通过 ChartData.get().setValue() 方法设置图表数据。
  • 使用 IChart 接口提供的方法设置图表标题、坐标轴标题、系列标签等。
  • 设置网格线样式和数据点线样式。
  • 使用 Presentation.saveToFile() 方法将文档保存到指定路径。

完整代码

Java

  1. import com.spire.presentation.FileFormat;
  2. import com.spire.presentation.Presentation;
  3. import com.spire.presentation.SlideSizeType;
  4. import com.spire.presentation.TextLineStyle;
  5. import com.spire.presentation.charts.ChartType;
  6. import com.spire.presentation.charts.IChart;
  7. import com.spire.presentation.charts.entity.ChartDataLabel;
  8. import com.spire.presentation.drawing.FillFormatType;
  9.  
  10. import java.awt.*;
  11. import java.awt.geom.Rectangle2D;
  12.  
  13. public class ScatterChart {
  14. public static void main(String[] args) throws Exception{
  15. //创建Presentation类的实例
  16. Presentation presentation = new Presentation();
  17. presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);
  18.  
  19. //添加散点图表到第一张幻灯片
  20. IChart chart = presentation.getSlides().get(0).getShapes().appendChart(ChartType.SCATTER_MARKERS,new Rectangle2D.Float(180, 80, 550, 320),false);
  21.  
  22. //设置图表标题
  23. chart.getChartTitle().getTextProperties().setText("散点图表");
  24. chart.getChartTitle().getTextProperties().isCentered(true);
  25. chart.getChartTitle().setHeight(20f);
  26. chart.hasTitle(true);
  27.  
  28. //设置图表数据源
  29. Double[] xData = new Double[] { 1.0, 3.4, 5.0, 7.9 };
  30. Double[] yData = new Double[] { 4.3, 13.2, 7.7, 6.0 };
  31. chart.getChartData().get(0,0).setText("X-值");
  32. chart.getChartData().get(0,1).setText("Y-值");
  33. for (int i = 0; i < xData.length; i++) {
  34. chart.getChartData().get(i+1,0).setValue(xData[i]);
  35. chart.getChartData().get(i+1,1).setValue(yData[i]);
  36. }
  37.  
  38. //设置系列标签
  39. chart.getSeries().setSeriesLabel(chart.getChartData().get("B1","B1"));
  40.  
  41. //设置X和Y轴值
  42. chart.getSeries().get(0).setXValues(chart.getChartData().get("A2","A5"));
  43. chart.getSeries().get(0).setYValues(chart.getChartData().get("B2","B5"));
  44.  
  45. //添加数据标签
  46. for (int i = 0; i < 4; i++)
  47. {
  48. ChartDataLabel dataLabel = chart.getSeries().get(0).getDataLabels().add();
  49. dataLabel.setLabelValueVisible(true);
  50. }
  51.  
  52. //设置主轴标题和次轴标题
  53. chart.getPrimaryValueAxis().hasTitle(true);
  54. chart.getPrimaryValueAxis().getTitle().getTextProperties().setText("X-轴 标题");
  55. chart.getSecondaryValueAxis().hasTitle(true);
  56. chart.getSecondaryValueAxis().getTitle().getTextProperties().setText("Y-轴 标题");
  57.  
  58. //设置网格线
  59. chart.getSecondaryValueAxis().getMajorGridTextLines().setFillType(FillFormatType.SOLID);
  60. chart.getSecondaryValueAxis().getMajorGridTextLines().setStyle(TextLineStyle.THIN_THIN);
  61. chart.getSecondaryValueAxis().getMajorGridTextLines().getSolidFillColor().setColor(Color.GRAY);
  62. chart.getPrimaryValueAxis().getMajorGridTextLines().setFillType(FillFormatType.NONE);
  63.  
  64. //设置数据点线
  65. chart.getSeries().get(0).getLine().setFillType(FillFormatType.SOLID);
  66. chart.getSeries().get(0).getLine().setWidth(0.1f);
  67. chart.getSeries().get(0).getLine().getSolidFillColor().setColor(Color.GREEN);
  68.  
  69. //保存文档
  70. presentation.saveToFile("ScatterChart.pptx", FileFormat.PPTX_2013);
  71. presentation.dispose();
  72. }
  73. }

效果图

—本文完—

Java:如何在PowerPoint幻灯片中创建散点图的更多相关文章

  1. C# 在PPT幻灯片中创建图表

    图表能够很直观的表现数据在某个时间段的变化趋势,或者呈现数据的整体和局部之间的相互关系,相较于大篇幅的文本数据,图表更增加了我们分析数据时选择的多样性,是我们挖掘数据背后潜在价值的一种更为有效地方式. ...

  2. Java 在PPT中创建散点图

    本文将以Java代码示例展示如何在PPT幻灯片中创建散点图表. 创建图表前 需要在Java程序中导入用于操作PPT的jar包 Free Spire.Presentation for Java.可参考如 ...

  3. Java 添加、修改PPT幻灯片中的表格

    本文将介绍通过Java编程在PPT操作表格的方法.包括添加表格到PPT幻灯片,并设置表格样式.单元格对齐方式.单元格背景色.边框样式.字体.字号.合并单元格等:同时,通过加载已有表格的幻灯片也可以对表 ...

  4. Java 添加 、读取以及删除PPT幻灯片中的视频、音频文件

    在PPT中,可以操作很多种元素,如形状.图形.文字.图片.表格等,也可以插入视频或者音频文件,来丰富幻灯片的内容呈现方式.下面将介绍在Java程序中如何来添加视频.音频文件到PPT幻灯片,读取和删除幻 ...

  5. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project 注意:该文档只针对以下eclipse版本,如图 为了方便,我将我本地的压缩包放在了微云网盘 ...

  6. PowerPoint 2013中创建自定义路径动画的方法

    1.在幻灯片中选择对象,在“动画”选项卡的“高级动画”组中单击“添加动画”按钮,在打开的下拉列表中选择“自定义路径”选项,如图1所示. 图1 选择“自定义路径”选项 2.此时鼠标指针变为十字形,在幻灯 ...

  7. java如何在eclipse编译时自动生成代码

    用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...

  8. #iPhone6与iPhone6Plus适配#如何在Xcode 6中创建 PCH 文件

    本文永久链接http://www.cnblogs.com/ChenYilong/p/4008086.html   新建文件 ⌘+N选择 iOS/Mac -> Other -> PCH Fi ...

  9. 数据结构二叉树的java实现,包括二叉树的创建、搜索、删除和遍历

    根据自己的学习体会并参考了一些网上的资料,以java写出了二叉树的创建.搜索.删除和遍历等操作,尚未实现的功能有:根据先序和中序遍历,得到后序遍历以及根据后序和中序遍历,得到先序遍历,以及获取栈的深度 ...

  10. effective java读书小记(一)创建和销毁对象

    序言 <effective java>可谓是java学习者心中的一本绝对不能不拜读的好书,她对于目标读者(有一点编程基础和开发经验)的人来说,由浅入深,言简意赅.每一章节都分为若干的条目, ...

随机推荐

  1. JAVA第四五次大作业及期中考试总结

         21201411-李英涵            继承与多态blog2 前言: 期中考试的题目还可以,因为给了类图,但是难度也逐渐升高. pta中的四的第一题和第三题较为简单,因为第一题的正则 ...

  2. 使用LitJson输出格式化json文件到本地

    百度上搜了半天,竟然没有C#使用LitJson格式化输出的例子,全都是Newtonsoft.Json的,最后在litjson的官网找到了方法. 给大家分享一下: https://litjson.net ...

  3. Email Windows发送成功,Linux却发送失败的可能原因

    一.linux端口被禁用,通过telnet查看.(我这里没问题) 二.排查环境参数是否一致(我这里没问题) 三.查看jdk版本原因,因为jdk1.8有的版本禁用了ssl 参阅文档:https://bl ...

  4. Linux deploy 32位系统 怎么安装宝塔怎么安装linux系统安装宝塔后搭建网站

    getconf LONG_BIT 获取当前linux系统位数

  5. React中的CSS模块

    CSS模块       使用步骤:         1.新建一个XXX.moudle.css文件         2.在组件中引入css           impor classes(变量) fro ...

  6. texstudio设置外部浏览器及右侧预览不能使用问题

    刚装的texstudio,今天不知什么原因右侧显示的pdf文件一直是以前的,百度了下没找到,自己摸索了下,只需要把构建里面pdf查看器更改下即可 如果想更改外部pdf查看器,只需要设置下命令里面外部p ...

  7. 模拟实现call,apply,bind方法,以及三者区别

    // 模拟实现call方法 Function.prototype.call2 = function (context) { var context = context || window; conte ...

  8. c# 一些方法记录

    // 返回当前目录的路径 fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "当前目录下的一个文件"); ...

  9. 【Unity】关于VS条件编译符号

    写在前面 起因:我在回顾LuaFramework_UGUI(作者Jarjin Lee)代码时,看到了C#代码中的条件编译符号,比如下图的ASYNC_MODE.虽然字面上知道是什么意思,但我对VS的条件 ...

  10. Mxgraph

    1. Hello World! Creating an HTML page that links the mxGraph client JavaScript, Creating a container ...