数据可视化-使用EXCEL和PS制作一个复杂饼图
一个朋友让我帮忙用饼图去展现一下一堆数据,我说行,后来他给我后,我看到是一堆貌似从什么仪器中导出的一堆使用分隔符分开的文本文档,使用excel打开后如下(为了保护隐私忽略了用字母和数字代替原来的内容:
| 大类 | 小类 | 数量 |
| A | A1 | 396 |
| A | A2 | 89 |
| A | A3 | 3557 |
| A | A4 | 214 |
| A | A5 | 205 |
| A | A6 | 3980 |
| A | A7 | 6738 |
| A | A8 | 6 |
| A | A9 | 3826 |
| A | A10 | 5 |
| A | A11 | 3959 |
| A | A12 | 12152 |
| B | B1 | 43 |
| B | B2 | 686 |
| B | B3 | 16340 |
| B | B4 | 128 |
| B | B5 | 76 |
| B | B6 | 1224 |
| B | B7 | 2256 |
| B | B8 | 14848 |
| B | B9 | 457 |
| B | B10 | 308 |
| B | B11 | 4 |
| B | B12 | 216 |
| B | B13 | 3 |
| B | B14 | 14 |
| B | B15 | 322 |
| C | C1 | 64 |
| C | C2 | 1 |
| C | C3 | 145 |
| C | C4 | 16741 |
| C | C5 | 15864 |
| C | C6 | 606 |
| C | C7 | 40 |
| C | C8 | 22 |
| C | C9 | 512 |
| C | C10 | 1439 |
| C | C11 | 263 |
| C | C12 | 24 |
| C | C13 | 12848 |
| C | C14 | 20 |
| C | C15 | 22 |
| C | C16 | 3346 |
| C | C17 | 4618 |
| C | C18 | 376 |
| C | C19 | 3944 |
| C | C20 | 2450 |
看着这么一大堆数据,该如何处理呢?
大体思路,拿到这堆数据后,先对数据结构进行分析:大类有三类,而每个大类里又有若干小类,这样的话,我们可以把每个大类当做一个整体去做一个饼图,然后 把三个大类的饼图嵌套在一起,使用宽度标示大类的分布。
先拿出A类:
| A1 | 396 |
| A2 | 89 |
| A3 | 3557 |
| A4 | 214 |
| A5 | 205 |
| A6 | 3980 |
| A7 | 6738 |
| A8 | 6 |
| A9 | 3826 |
| A10 | 5 |
| A11 | 3959 |
| A12 | 12152 |
对这些数据绘制一张饼图如下:

然后你会发现问题:A1\A2\A4\A5所占的比例不多,但是在图里要表现出来会破坏整个图的结构,显得极不协调,那我们就要在制作饼图前做一件事:数据有效性处理:把所占数量小于%8以下的小类统一命名为其他,数理后的数据如下:
| A3 | 3557 |
| A6 | 3980 |
| A7 | 6738 |
| A9 | 3826 |
| A11 | 3959 |
| A12 | 12152 |
| other | 915 |
绘制的图形如下:

由于最后是要三个图形放在一起,也就是达到如下效果:

这样的话我们需要把右面的红黄蓝色条留出来用来表示三个大类各占的比例:
对A类数据添加一个分类,让它占用10%的饼图(具体算法很简单,哈哈):处理后的数据如下:
| aa | 3909 |
| A3 | 3557 |
| A6 | 3980 |
| A7 | 6738 |
| A9 | 3826 |
| A11 | 3959 |
| A12 | 12152 |
| other | 915 |
添加了aa一列(要添加在首行)方便以后调整饼图方向:
然后更新饼图,打开设置数据系列格式的对话框,把饼图的方向转到90度,然后就好了:

最后A类的就是这样的,同样的方法去处理B类和C类,但是要注意一点,B类和C类应该使用圆环图,而且一个比一个大。
这三个图都做好了之后,要使用一个软件把他们合并在一起,我选择的是ps
合并完后就是这样的:
其中右侧的红绿蓝三个色条的宽度刚好等于三个圆环的厚度,也等于ABC三类的大类比例(这个比例我们要在Ps中调整的)
但是通过这样制作的这个图,其实有一个问题,有没有人看出来问题在哪儿?
数据可视化-使用EXCEL和PS制作一个复杂饼图的更多相关文章
- Python数据可视化之Excel气泡图
最终实现的效果如图: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类 ...
- Excel数据可视化图表设计需要注意的几个问题
大数据发展迅速的时代,数据分析驱动商业决策.对于庞大.无序.复杂的数据要是没经过合适的处理,价值就无法体现. 可以想象一本没有图片的教科书.没有图表.图形或是带有箭头和标签的插图或流程图,那么这门学 ...
- 超级干货 :一文读懂数据可视化 ZT
前言 数据可视化,是指将相对晦涩的的数据通过可视的.交互的方式进行展示,从而形象.直观地表达数据蕴含的信息和规律. 早期的数据可视化作为咨询机构.金融企业的专业工具,其应用领域较为单一,应用形态较为保 ...
- 数据可视化之Matplotlib的使用
1.什么是数据可视化 数据可视化在量化分析当中是一个非常关键的辅助工具,往往我们需要通过可视化技术,对我们的数据进行更清晰的展示,这样也能帮助我们理解交易.理解数据.通过数据的可视化也可以更快速的发现 ...
- vue3 数据可视化项目
可视化面板介绍 应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使用,可视化图表来展示体现数据,让数据更加直观,数据特点更加突出. 01-使用技术 完成该项目 ...
- Python数据可视化库-Matplotlib(一)
今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...
- 第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)
前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...
- 2021年都要过去啦,你还在用Excel做数据可视化效果吗?
2021年都要过去啦,你还在用Excel做数据可视化效果吗?古语有云,"工欲善其事,必先利其器",没有专业的工具,前期准备的再好也是白搭.现在运用数据可视化工具于经营活动中的企业是 ...
- 利用R语言制作出漂亮的交互数据可视化
利用R语言制作出漂亮的交互数据可视化 利用R语言也可以制作出漂亮的交互数据可视化,下面和大家分享一些常用的交互可视化的R包. rCharts包 说起R语言的交互包,第一个想到的应该就是rCharts包 ...
随机推荐
- 读《Ext.JS.4.First.Look》随笔
Ext JS 4是最大的改革已经取得了Ext框架.这些变化包括一个新类系统,引入一个新的平台,许多API变化和改进,和新组件,如新图表和新画组件.Ext JS 4是更快,更稳定,易于使用.(注意:Ex ...
- OpenCv的Java,C++开发环境配置
1.OpenCV 下载及安装配置 opencv的下载地址:http://opencv.org/downloads.html 最新版本:opencv3.0.0 注意:支持的visual studio20 ...
- Android 学习 之 无需类名启动其他程序
在网上搜索了一会相关的实现代码,发现所有的文章都说是需要包名和类名.但是人家的程序,我们怎么可能知道哪个是第一个启动的Activity?所以,真正用在项目上,那种方法基本上没什么用的.于是查看官方文档 ...
- ZOJ 2866 Overstaffed Company
树状数组 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...
- 关于VC中的错误处理
include <exception> try {} cache(exception &e) { cout<<e.what()<<endl; } 但 ...
- 加密Web.Config配置文件
protected void btnPassWord_Click(object sender, EventArgs e) { //加密 Configuration config = WebConfig ...
- 转:Windows下用sftp自动下载文件
远程服务器是Linux操作系统,没有ftp服务,可以ssh,数据库每天2:00会自动创建一个备份文件,本地计算机是windows操作系统,希望用sftp每天3:00下载远程服务器上的备份文件.本地系统 ...
- JAVA和C++区别
1.指针 JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃.但也不是说JAVA没有指针,虚拟机 ...
- Qt5:Qt中一些函数功能介绍
1 .setContentsMargins 该函数用于设置窗口客户区中,四周空白边框的尺寸 , 类似于 word 中的 页边距设置 2.canonical Path 返回文件路径的规范路径 , 也就 ...
- npm install含义 及vue安装启动项目时报错解决及vue建项目时各文件间的依赖关系
全局安装vue-cli,使用命令npm install -g vue-cli. 下载模板代码,使用命令vue init webpack my-project,之后会有一些询问,按需填写即可. 最后会看 ...