Java 在PPT中添加混合图表过程详解

 更新时间:2019年09月18日 08:28:42   作者:Miaonly  
这篇文章主要介绍了Java 在PPT中添加混合图表过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

本文将介绍通过Java程序在PPT幻灯片中添加混合图表的方法,即,将不同类型的图表类型放置在同一图表中,用于展示同一时期或阶段的数据在不同参数标准下的变化情况,便于对数据的综合分析。

使用工具:Free Spire.Presentation for Java(免费版)

Jar文件获取及导入:

方法1:通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Presentation.jar导入java程序。参考如下导入效果:

方法2:通过maven仓库安装导入。可参考导入方法

Java代码示例(供参考)

import com.spire.presentation.*;
import com.spire.presentation.charts.ChartType;
import com.spire.presentation.charts.IChart;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.geom.Rectangle2D;
public class Chart {
  public static void main(String[] args) throws Exception{
    //创建PowerPoint文档
    Presentation presentation = new Presentation();

    //添加一个柱状图
    Rectangle2D.Double rect = new  Rectangle2D.Double(60, 100, 600, 350);
    IChart chart = presentation.getSlides().get(0).getShapes().appendChart(ChartType.COLUMN_CLUSTERED, rect);

    //设置图表名称
    chart.getChartTitle().getTextProperties().setText("上半年销量");
    chart.getChartTitle().getTextProperties().isCentered(true);
    chart.getChartTitle().setHeight(30);
    chart.hasTitle(true);

    //写入图表数据
    chart.getChartData().get(0,0).setText("月份");
    chart.getChartData().get(0,1).setText("销量");
    chart.getChartData().get(0,2).setText("环比增长(%)");
    chart.getChartData().get(1,0).setText("1月");
    chart.getChartData().get(1,1).setNumberValue(120);
    chart.getChartData().get(1,2).setNumberValue(12);
    chart.getChartData().get(2,0).setText("2月");
    chart.getChartData().get(2,1).setNumberValue(100);
    chart.getChartData().get(2,2).setNumberValue(10);
    chart.getChartData().get(3,0).setText("3月");
    chart.getChartData().get(3,1).setNumberValue(80);
    chart.getChartData().get(3,2).setNumberValue(9);
    chart.getChartData().get(4,0).setText("4月");
    chart.getChartData().get(4,1).setNumberValue(120);
    chart.getChartData().get(4,2).setNumberValue(15);
    chart.getChartData().get(5,0).setText("5月");
    chart.getChartData().get(5,1).setNumberValue(90);
    chart.getChartData().get(5,2).setNumberValue(11);
    chart.getChartData().get(6,0).setText("6月");
    chart.getChartData().get(6,1).setNumberValue(110);
    chart.getChartData().get(6,2).setNumberValue(10.5);

    //设置系列标签数据来源
    chart.getSeries().setSeriesLabel(chart.getChartData().get("B1", "C1"));

    //设置分类标签数据来源
    chart.getCategories().setCategoryLabels(chart.getChartData().get("A2", "A7"));

    //设置系列的数据来源
    chart.getSeries().get(0).setValues(chart.getChartData().get("B2", "B7"));
    chart.getSeries().get(1).setValues(chart.getChartData().get("C2", "C7"));
    chart.getSeries().get(1).getDataLabels().setLabelValueVisible(true);//设置显示系列2的数据标签值
    chart.getSeries().get(1).setType(ChartType.LINE_MARKERS);//将系列2的图表类型设置为折线图
    chart.getSeries().get(1).setUseSecondAxis(true);//将系列2绘制在次坐标轴
    chart.getSecondaryValueAxis().getMajorGridTextLines().setFillType(FillFormatType.NONE);//不显示次坐标轴的网格线

    //设置系列重叠
    chart.setOverLap(-30);

    //设置分类间距
    chart.setGapDepth(200);

    //保存文档
    presentation.saveToFile("chart.pptx", FileFormat.PPTX_2013);
    presentation.dispose();
  }
}

图表添加效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • feign远程调用无法传递对象属性405的问题

    feign远程调用无法传递对象属性405的问题

    这篇文章主要介绍了feign远程调用无法传递对象属性405的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java中防止数据重复提交超简单的6种方法

    Java中防止数据重复提交超简单的6种方法

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,这篇文章主要给大家介绍了关于Java中防止数据重复提交超简单的6种方法,需要的朋友可以参考下
    2021-11-11
  • SpringBoot项目整合jasypt实现过程详解

    SpringBoot项目整合jasypt实现过程详解

    这篇文章主要介绍了SpringBoot项目整合jasypt实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 详解Spring中的Transactional属性

    详解Spring中的Transactional属性

    今天我在写代码的时候,看到了一个注解@Transactional(rollbackFor = Exception.class),今天就和大家分享一下,这个注解的用法,,需要的朋友可以参考下
    2021-05-05
  • Java语言实现简单FTP软件 FTP连接管理模块实现(8)

    Java语言实现简单FTP软件 FTP连接管理模块实现(8)

    这篇文章主要为大家详细介绍了Java语言实现简单FTP软件,FTP连接管理模块的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 如何使用JavaMail发送邮件

    如何使用JavaMail发送邮件

    这篇文章主要教大家如何使用JavaMail发送邮件在web应用中,实现用户注册成功之后,将用户的注册信息以Email的形式发送到用户的注册邮箱当中,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 泛谈Java NIO

    泛谈Java NIO

    java.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO),使用它可以提供非阻塞式的高伸缩性网络。下面我们来简单了解一下吧
    2019-05-05
  • Java对象初始化顺序的使用

    Java对象初始化顺序的使用

    本篇文章介绍了,Java对象初始化顺序的使用。需要的朋友参考下
    2013-04-04
  • java中lambda表达式语法说明

    java中lambda表达式语法说明

    “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
    2016-09-09
  • 了解Java线程池创建过程

    了解Java线程池创建过程

    那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。下面我们来详细了解一下吧
    2019-05-05

最新评论