原创文章,转载请注明出处:http://www.cnblogs.com/phpgcs

本篇文章实例演示如上图,画3种图形以及多sheet操作等

先回忆下第一篇中line图形的API调用步骤:

1,引入PHPExcel
2,填充源数据到工作表上
$objWorkSheet->fromArray($array);
or
$objWorkSheet->setCellValues('A1', 1);
3,设置dataseries
PHPExcel_Chart_DataSeries::TYPE_LINECHART,
PHPExcel_Chart_DataSeries::GROUPING_STACKED,
range(0, count($dataSeriesValues)-1),
$dataseriesLabels=>array(new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$AB$1', NULL, 1)),
$xAxisTickValues=>array(new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$AA$2:$AA$21', NULL, 20),),
$dataSeriesValues=>array(new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$AB$2:$AB$21', NULL, 20))
4,设置chart
'chartTitle'=>'just a title',
$title=>new PHPExcel_Chart_Title('新闻热点趋势'),
$legend=>new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_TOPRIGHT, NULL, false),
$plotarea=>new PHPExcel_Chart_PlotArea(NULL, array($series)),
'plotVisibleOnly'=>true,
'displayBlanksAs'=>0,
'xAxisLabel'=>NULL,
'yAxisLabel'=>new PHPExcel_Chart_Title('报道量'),
5,设置chart位置
$chart->setTopLeftPosition('A1');
$chart->setBottomRightPosition('P20');
6,添加chart
$objWorksheet->addChart($chart);
7,保存文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->setIncludeCharts(TRUE);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));

  

上面是一个完整的 line chart 的API

对于 bar chart 来说,不同的地方有:

1,$series 的第一个参数 改为 PHPExcel_Chart_DataSeries::TYPE_BARCHART,

2,增加一个画图的方向设置 $series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_BAR);

原创文章,转载请注明出处:http://www.cnblogs.com/phpgcs

对于 pie chart 来说,不同的地方有:

1,$series 的第一个参数 改为PHPExcel_Chart_DataSeries::GROUPING_STACKED,

2,增加一个画图的方向设置 $series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_PIE);

对于 radar chart 来说, 不同 的地方有:

1,$series 的第1个参数 改为 PHPExcel_Chart_DataSeries::TYPE_RADARCHART,

2,$series 的第2个参数 改为 NULL

3,$series 增加第5个参数 NULL, 意味着 雷达的连线为平滑的

4,$series 增加第6个参数 PHPExcel_Chart_DataSeries::STYLE_MARKER

5,$plotarea 的第1个参数 为 $layout = new PHPExcel_Chart_Layout();

6,$chart 第8个参数 yAxisLabel 设置为NULL,因为雷达图没有Y轴

上面就是API的区别,下面说说在一个Sheet上作图的注意事项:

1,首先,你的源数据一般不想让一打开就看到,那就将其放置到AA列之后,这样A~Z列都看不到源数据

$objWorksheet->fromArray($newarraydata, NULL, 'AA1');

  当然,取数据的时候也要从AA开始取

2,如果想要做多个chart在一个sheet上,还需要为每个chart指定区域

$chart->setTopLeftPosition('A1');
$chart->setBottomRightPosition('N20'); $chart2->setTopLeftPosition('A21');
$chart2->setBottomRightPosition('G40'); $chart3->setTopLeftPosition('H21');
$chart3->setBottomRightPosition('N40');

  

3,对于多个sheet上操作,注意切换sheet

$objWorksheet = $objPHPExcel->getActiveSheet(); //获取当前活动表

$objPHPExcel->createSheet(); //创建一个sheet
$objPHPExcel->setActiveSheetIndex(1);//激活第2个sheet

  原创文章,转载请注明出处:http://www.cnblogs.com/phpgcs

phpexcel图形图表(二)图形的更多相关文章

  1. phpexcel图形图表(一)入门

    PHPExcel - Excel的PHP处理引擎 PHPExcel 提供了一系列的 PHP语言 类,让你可以轻松地读写操作以下格式的文件:.xls/.xlsx/.csv/.ods/Gnumeric/P ...

  2. R提高篇(二): 图形初阶

    目录: 图形示例 图形参数 符号.线条 颜色 文本属性 尺寸与边界 自定义标题 自定义坐标轴 图例 文本标注 图形组合 图形示例 如下代码描述病人对两种药物五个剂量水平上的响应情况 > myda ...

  3. linux入门教程(二) 图形界面还是命令窗口

    对于linux的应用,我想大多数都是用在服务器领域,对于服务器来讲真的没有必要跑一个图形界面.所以我们平时安装linux操作系统时往往是不安装图形界面的.说到这里也许你会有疑问,图形界面还能选择装或者 ...

  4. 201771010126 王燕《面向对象程序设计(Java)》第十二周学习总结

    实验十二  图形程序设计 实验时间 2018-11-14 1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: 创建空框架 . 在Java中,常采用框架(Frame) ...

  5. 马凯军201771010116《面向对象与程序设计Java》第十二周学习总结

    一.理论与知识学习部分 Java的抽象窗口工具箱(Abstract Window Toolkit, AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类. 大部分AWT组件都 ...

  6. 刘志梅2017710101152.《面向对象程序设计(java)》第十二周学习总结

    实验十二  图形程序设计 实验时间 2018-11-14 1.理论知识 (1) 基本AWT库采用将处理用户界面元素的任务委派给每个目标平台的本地GUI工具箱的方式,由本地GUI工具箱负责用户界面元素的 ...

  7. 201771010134杨其菊《面向对象程序设计java》第十二周学习总结

    第十二周学习总结 第一部分:理论知识 内容概要: AWT与Swing简介:框架的创建:图形程序设计: 显示图像: 1.AWT组件: 2.Swing 组件层次关系 3 .AWT与Swing的关系:大部分 ...

  8. 达拉草201771010105《面向对象程序设计(java)》第十二周学习总结

    达拉草201771010105<面向对象程序设计(java)>第十二周学习总结 第一部分:理论知识 Java的抽象窗口工具箱(AbstractWindow Toolkit,AWT)包含在j ...

  9. 第十二周java实验作业

    实验十二  图形程序设计 实验时间 2018-11-14 1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: Java的集合框架实现了对各种数据结构的封装. jav ...

随机推荐

  1. tomcat访问(access)日志配置、记录Post请求参数(转)

    一.配置与说明 tomcat访问日志格式配置,在config/server.xml里Host标签下加上 <Valve className="org.apache.catalina.va ...

  2. springBoot框架的一些概念

    Spring的发展史1. Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml ...

  3. linux & windows 共享 smbd 部署

    smbd  : yum install samba samba-client samba-swat mount.cifs :  yum -y install cifs-utils  ##挂载nas 文 ...

  4. mac 安装PyQt5

    PyQt5官方安装教程指出2种安装方法: Installing from Wheels Building and Installing from Source 网上搜罗的大多是按照第二种方法安装的,本 ...

  5. shell产生随机数七种方法

    shell实例浅谈之三产生随机数七种方法   一.问题 Shell下有时需要使用随机数,在此总结产生随机数的方法.计算机产生的的只是“伪随机数”,不会产生绝对的随机数(是一种理想随机数).伪随机数在大 ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.8. 配置用户环境

    2.8.配置用户环境 2.8.1. 配置节点RAC1 配置grid用户环境变量: cat >> /home/grid/.bash_profile <<EOF export TM ...

  7. php之防注入程序绕过浅谈

    <?php/*判断传递的变量是否含有非法字符如:$_POST/$_GET功能:SQL防注入系统*/ //屏蔽错误提示error_reporting(7); //需要过滤的字符 $ArrFiltr ...

  8. Linux中C语言的编程

    编译的过程 编译的概念:编译程序读取源程序(字符流),对之进行词法与语法的分析,将高级语言指令转换成功能等效的汇编代码,再由汇编程序转换成机器语言,并且按照操作系统对可执行文件格式的要求链接成可执行程 ...

  9. mysql show profiles使用分析sql性能

    mysql show profiles使用分析sql性能 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看一下我的数据库版本 mysql> ...

  10. git fetch 的简单用法:更新远程代码到本地仓库及冲突处理

    Git中从远程的分支获取最新的版本到本地方式如下,如何更新下载到代码到本地,请参阅ice的博客基于Github参与eoe的开源项目指南方式一1. 查看远程仓库 1 2 3 4 5 6 $ git re ...