饼图

【原创】excel制作饼图+雷达图的叠加图,推广至任意图形的叠加

蹲街弑〆低调 提交于 2019-12-18 05:25:51
偶然看到了一个很特殊的图形,是饼图和雷达图的叠加,在表现形式上很新颖,花了一上午研究了一下,效果不错,通过这个方法也可以实现在excel中任意图形的叠加的方法。 首先看下效果。 原始数据格式如下: 属性 数据 辅助列 Spiritual 3.5 1 Business 3.9 1 Finance 5 1 Health 6 1 Social 7.9 1 Family 2.9 1 Romance 5.3 1 Recreation 1 1 这里增加辅助列的作用是为了建立底层的均匀的8个饼图,下面详细说明下制作过程 1.制作饼图 选中属性列和辅助列,建立默认的饼图,如下 2.制作叠加的雷达图,这是非常关键的步骤 (1)在图形上右键,选择数据, 在图例项(系列)中,点“添加”,在弹出的系列名称中,写“系列2”,然后在系列值中,选中表格中的数据,确定,然后在“水平(分类)轴标签”中,点编辑,选中表格中的“属性”列的值。 操作后,很奇怪,图形没有任何变化,注意这个时候,是关键了,因为新建立的图形默认也是饼图,被第一个饼图遮挡住了。 这个时候,选择看到的饼图,右键“设置数据系列格式”,在“系列绘制在”上选择“次坐标轴”,这样就能把第二个图形设置为当前图形了。 (2)在图表工具的“布局”中,选择左上角的下拉框,到系列“系列2”,这个时候就可以操作后增加的图形,把他变为雷达图了。点击图表工具中的“设计”

JFreeChart 之饼图

蹲街弑〆低调 提交于 2019-12-17 14:36:12
JFreeChart 之饼图 一、JFreeChart 简介   JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。 二、JFreeChart 的使用   官方网站:http://www.jfree.org/   下载地址:https://sourceforge.net/projects/jfreechart/files/1.%20JFreeChart/ 1、拷贝相关的 Jar (jcommon-1.0.23.jar和jfreechart-1.0.19.jar)到 Java 项目中 2、饼图示例( PieChart3D.java ) 1 package cn.com.zfc.jfreechart; 2 3 import java.awt.Font; 4 import java.io.File; 5 import java.io.IOException; 6 7 import

数据可视化笔记整理04

眉间皱痕 提交于 2019-12-09 15:11:29
目录 0.好用的小工具(在线生成各种图形) 1.学习目标 3.区间型数据可视化 3.1 条形进度图 3.2 仪表盘 3.3 环形进度图 4.关系型数据可视化 4.1 韦恩图 4.2 漏斗图 4.3 矩形树图 4.4 桑基图 4.5 节点关系图 5.1 地图+散点图/气泡图/热力图 5.2 地图+线图 5.3 地图+饼图 6.习题 6.1 场景1:比较公司4个部门在2019年的年度销售额完成率 6.2 场景2:某公司组织架构下的人员数量 7.参考文章 0.好用的小工具(在线生成各种图形) http://www.nicetool.net/ 1.学习目标 区间型数据:了解区间型数据的特点,熟练使用「条形进度图、仪表盘、环形进度图」表示数据的进度和定量指标的定性化; 关系型数据:了解数据之间常见的关系类型,能熟练地根据数据之间的关系类型进行图表选型,掌握不同图表的特点、可视化原理和制作方法; 地理信息数据:了解地理信息数据的特点,掌握地理数据常用的可视化方案选型; 实践:根据给定的数据集,进行数据可视化,或者自选数据集也可以; 2.数据集 数据来源: https://docs.qq.com/sheet/DTEJyTFRhZWVhV1Fn?c=J20A0A0 3.区间型数据可视化 区间数据一般分为两种情况: 第一类商户局:数据是比例型数据,本身就能从数据中直接用用; 数据是数值型数据

matplotlib - 饼图、等高线图

ⅰ亾dé卋堺 提交于 2019-12-05 13:40:31
文章目录 首先来介绍饼图 接下来我们来绘制等高线图 plt.contour plt.contourf 注意 今天来学习一下画饼图和等高线图。 其实和之前我们画图的技巧是一样的,只是画饼图和画等高线图我们又用到了新的两种方法。 饼图: plt.pie() 等高线图: plt.contourf 、 plt.contour 首先来介绍饼图 语法: plt.pie(值,间隙,标签,颜色,格式,shadow=是否带阴影,startangel=其实角度) 其实很简单。 代码: #导入模块 import numpy as np import matplotlib . pyplot as plt #准备数据 values = [ 26 , 17 , 21 , 29 , 11 ] #准备间距 spaces = [ 0.05 , 0.01 , 0.01 , 0.01 , 0.01 ] #准备标签 labels = [ 'Python' , 'JavaScript' , 'C++' , 'Java' , 'PHP' ] #每一个的标签的颜色 colors = [ 'dodgerblue' , 'orangered' , 'limegreen' , 'violet' , 'gold' ] #创建图形窗口 plt . figure ( 'Pie' , facecolor = 'lightgray' )

HTML5 Canvas(实战:绘制饼图2 Tooltip)

◇◆丶佛笑我妖孽 提交于 2019-12-05 09:45:10
继上一篇 HTML5 Canvas(实战:绘制饼图) 之后,笔者研究了一下如何给饼图加鼠标停留时显示的提示框。 Plot对象 在开始Coding之前,笔者能够想到的最easy的方式,就是给饼图的每一个区域添加mousemove事件,鼠标在其上移动时则显示对应的提示框,so easy!可事实不是这样子滴~ 我们肉眼上看上去是一块一块的东西,canvas并没有真的把它们分成一块一块的HTMLElement,我们只能给canvas绑定事件。那么如何得知鼠标当前停留在哪块区域呢,可以通过计算鼠标位置与圆心连线与基准线给的夹角是否在区域的起始角度与终止角度之间,为此,我们需要保存每个区域的角度信息。 为了方便保存,创建一个构造函数Plot。 function Plot(start, end, color, data) { this.start = start; this.end = end; this.color = color; this.data = data; } 可以将上一篇文章中的绘制图例方法和绘制饼图区域的方法都放进Plot的原型链中 Plot.prototype.drawLegend = function() { ctx.fillRect(legend_posX, legend_posY, legend_width, legend_height); ctx.font =

国民经济数据可视化

ⅰ亾dé卋堺 提交于 2019-12-05 05:29:24
import numpy as np import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['font.sans-serif'] = 'Arial Unicode MS' ## 设置中文显示 plt.rcParams['axes.unicode_minus'] = False data = np.load('./data/国民经济核算季度数据.npz') name = data['columns']## 提取其中的columns数组,视为数据的标签 values = data['values']## 提取其中的values数组,数据的存在位置 label = ['第一产业','第二产业','第三产业']## 刻度标签 plt.figure(figsize=(6,5))## 设置画布 plt.bar(range(3),values[-1,3:6],width = 0.5)## 绘制散点图 plt.xlabel('产业')## 添加横轴标签 plt.ylabel('生产总值(亿元)')## 添加y轴名称 plt.xticks(range(3),label) plt.title('2017年第一季度各产业国民生产总值直方图')## 添加图表标题 plt.savefig('.

Matplotlib 饼图

喜你入骨 提交于 2019-12-04 10:36:09
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Matplotlib 柱状图 Matplotlib 饼图 Matplotlib 直方图 Matplotlib 散点图 Matplotlib 填充图 Matplotlib 网格 Matplotlib 极坐标图 Matplotlib 3D图 Matplotlib 保存图形 饼图是另一种常见的图形类型,可以使用 pie() 方法制作饼图。 示例 # 导入numpy库与matplotlib.pyplot库 import numpy as np import matplotlib.pyplot as plt # 准备数据:公司市场占有率 firms = ["Firm A", "Firm B", "Firm C", "Firm D", "Firm E"] market_share = [20, 25, 15, 10, 20] # 设置第二项为爆炸(散开)状态 Explode = [0, 0.1, 0, 0, 0] # 绘制图形 plt.pie(market_share, explode=Explode, labels=firms, shadow=True, startangle=45) plt.axis

matplotlib:饼图的绘制

纵然是瞬间 提交于 2019-12-04 01:11:35
1、matplotlib绘图三部曲 (1)创建画布 (2)绘图——包含绘图与图形修饰 (3)绘图展示 2、折线图的绘制 (1)导入模块 import matplotlib.pyplot as pltimport numpy as np    将模块导入到脚本中,并更改名字为 plt (2)创建画布 plt.figure(figsize=(8,8), dpi=120)    使用 figure() 方法创建画布, figsize=(x,y) 参数用于设置画布大小,单位为英寸, dpi 参数用于设置图片像素    matplotlib 默认不支持中文和符号和字符 plt.rcParams['font.sans-serif'] = 'SimHei' plt.rcParams['axes.unicode_minus'] = False    加入上面两行代码,使其能够显示中文和符号 (3)绘图——包括绘图与图形修饰 准备横轴和纵轴数据(以未来5天北京气温走势为例) x = [8654.0, 70004.5, 102024.2]labels = ['第一产业', '第二产业', '第三产业']    数据一般以数组的形式来表示,这里 x 指的是数据的大小, labels 是饼图各部分的名称 绘制饼图 colors = ["r", "g", "b"]autopct = "%.2f%%"plt

Unity自定义UI组件(三)饼图篇

我的梦境 提交于 2019-12-03 14:14:29
Unity自定义UI组件(三)饼图篇 博主在工作中曾经多次遇到过要计算并显示一些数据占比的功能,但是数值的显示不够直观,然后在Unity商店中看到有人编写过类似的UI插件,但是价格小贵,就萌发了自己编写类似插件的冲动,第一次编写是利用Image组件设置为Filled类型时可实现扇形的功能进行组合,弊端特别明显就是需要制作预制物,使得代码量比较庞大,而且为了实现一些炫酷的功能,还得引入缓冲池去避免不停生成扇形带来的性能妥协,之后在了解了MaskableGraphic类型之后,利用底层绘制,可以避免由组件拼合的多种性能的妥协,而且极易移植,因为只需要的一个脚本即可,下面会详细讲解如何绘制,并将附上源码。 主要内容: 1.饼图的基础实现 2.饼图百分比文字的显示 3.饼图文字的自适应 4.饼图样式自定义 实现效果: 详细设计: 1.饼图的绘制过程: 1.1 获取以某个点为中心,固定半径的圆上的点,再结合原点绘制三角面,可生成扇形; //计算圆上点的位置 Smooth代表圆的光滑程度,也就是饼图被分为多少等份 int Smooth = 100; float perRadian = Matfh.PI * 2 / Smooth;//得到每份所占弧度 然后根据某一块饼图所占的比例计算出它在圆周上相交的点,我们规定从饼图右侧中间位置开始,逆时针方向计算。见图1: //比如绘制19%比例的扇形图

C#学习

戏子无情 提交于 2019-12-03 07:06:27
这几天我决定花一些时间,逐个研究下.NET中的Chart控件。 我的IDE版本为VS2012,.NET框架版本为.NET 4.5 运行本文代码需要用到命名空间System.Windows.Forms.DataVisualization.Charting 1、饼图(SeriesChartType.Pie) 现有一个Chart控件,取名为chart,在程序Load函数中输入如下代码: private void FormMain_Load(object sender, EventArgs e) { //清空chart图表 chart.ChartAreas.Clear(); //图表区 chart.Titles.Clear(); //图表标题 chart.Series.Clear(); //图表序列 chart.Legends.Clear(); //图表图例 //新建chart图表要素 chart.ChartAreas.Add(new ChartArea("chartArea")); chart.ChartAreas["chartArea"].AxisX.IsMarginVisible = false; chart.ChartAreas["chartArea"].Area3DStyle.Enable3D = false; chart.Titles.Add("某行业各公司市场占有率调查报告"