使用matplotlib和pywaffle绘制象形图(PictorialBar)
概述
matplotlib
没有提供原生的象形图接口。通过第三方库pywaffle
可以生成简易象形图。
pywaffle
是一个用于绘制华夫饼图的第三方库,支持使用Font Awesome
作为自定义图形。
文档见https://pywaffle.readthedocs.io/en/latest/
安装
$ pip install pywaffle
简易应用:华夫饼图
pywaffle
的应用非常简单。首先将Waffle
类传递给matplotlib.pyplot.figure
函数的FigureClass
参数,然后通过设置matplotlib.pyplot.figure
函数的参数即可完成华夫饼图的定制。
import matplotlib.pyplot as plt
from pywaffle import Waffle
plt.figure(FigureClass=Waffle,rows=5,columns=10, # Either rows or columns could be omittedvalues=[30, 16, 4]
)
plt.show()
实现象形图
由于华夫饼图和象形图之间是有一定差别的,需要设置一些关键参数。
icons
:设置各类别使用的图标。取值为Font Awesome
的图标名称,名称定义见pywaffle.fontawesome_mapping.icons
。类型为字符串或字符串列表。columns
:设置图标的最大列数,需要同时设置vertical=True
。starting_location
:设置类别的起始位置。starting_location='NW'
即从左上角开始排列。block_arranging_style = 'new-line'
:设置每个类别新起一行。icon_legend
:设置图标图例。
import numpy as np
import matplotlib.pyplot as plt
from pywaffle import Waffle# 设置中文字体
plt.rcParams["font.family"] = "simhei"
# 构造数据
data = np.array([150, 115, 100])
# 构造图例标签
labels = ["晴", "小雨", "多云"]
# 构造最大列数
columns = 15
plt.figure(FigureClass=Waffle,# 构造列数columns=columns,# 设置类别图标icons=["sun", "cloud-rain", "cloud"],# 设置类别颜色colors=["#FFA500", "#4384FF", "#C0C0C0"],# 垂直排列分类vertical=True,# 从左上角开始排列starting_location="NW",# 设置每个分类另起一行block_arranging_style="new-line",# 设置图标间隙interval_ratio_x=1.5,interval_ratio_y=1.5,# 值缩放处理values=data * columns / data.max(),# 设置标题title={"label": "天气指数","loc": "left","fontdict": {"fontsize": 20,},"pad": 20,},# 设置图例标签labels=[f"{k} ({v}天)" for k, v in zip(labels, data)],# 设置图例位置、排列方式legend={"loc": "lower left","bbox_to_anchor": (0, -0.4),"ncol": len(data),"framealpha": 0,"fontsize": 16,},# 设置图标图例icon_legend=True,# 设置图像大小figsize=(13, 5),
)plt.show()
使用matplotlib和pywaffle绘制象形图(PictorialBar)相关推荐
- python使用matplotlib可视化subplots绘制子图、自定义几行几列子图,如果M行N列,那么最终包含M*N个子图、在指定的子图中添加可视化结果
python使用matplotlib可视化subplots绘制子图.自定义几行几列子图,如果M行N列,那么最终包含M*N个子图.在指定的子图中添加可视化结果 目录
- Python dataframe绘制饼图_【python可视化】:matplotlib:常见图表绘制——面积图、填图、饼图...
•本文字数:约620字•阅读时长:约2分钟•难度:1颗星 斑点鱼将Matplotlib分为五部分: 图表窗口设置.图表基本元素及图表输出.图表样式参数.子图创建.常见图表绘制 本文讲第五部分:matp ...
- Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式、清除原有图像、设置横坐标显示文字/旋转角度、添加图例、绘图布局自动调整、图像显示、图像暂停)
Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式.清除原有图像.设置横坐标显示文字/旋转角度.添加图例.绘图布局自动调整.图像显示.图像暂停) 目 ...
- Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改、横坐标文字进行横/纵向显示、控制坐标轴范围等)之详细攻略
Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改.横坐标文字进行横/纵向显示.控制坐标轴范围等)之详细攻略 目录 1.Matplotlib库图表绘制包 ...
- Py之matplotlib:python包之matplotlib库图表绘制包的简介、安装、使用方法(matplotlib颜色大全)详细攻略
Py之matplotlib:python包之matplotlib库图表绘制包的简介.安装.使用方法(matplotlib颜色大全)详细攻略 目录 matplotlib简介 matplotlib安装 m ...
- Python使用matplotlib设置pandas绘制的饼状图扇形标签
2021年全国高校Python课程高级研修班(线上) 中国大学MOOC"Python程序设计基础"第4次开课 推荐图书: <Python程序设计(第3版)>,(ISBN ...
- matplotlib 常用图形绘制与官方文档
matplotlib 常用图形绘制与官方文档 matplotlib.org Python库matplotlib 图形绘制 官方教程目录 matplotlib.pyplot matplotlib.pyp ...
- 【Matplotlib】matplotlib.animation.FuncAnimation绘制动态图、交互式绘图汇总(附官方文档)
文章目录 零.文中用到的相关知识: 一.以sin举例,motplotlib绘制动图 1.绘制sin函数 2.动态画出sin函数曲线 3.点在曲线上运动 4.点,坐标运动 二.单摆例子 1.scipy中 ...
- 08【matplotlib】06matplotlib绘制多次图形和不同图形的差异介绍和总结
动手 题目 假设大家在30岁的时候,根据自己的实际情况,统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己每年交女(男)朋友的数量走势 a = [1,0 ...
最新文章
- 利用三个点(trsf)来实现各种规则图形的实现
- Mono项目宣布将整合F#
- html dom对象简写,js参考手册-html dom对象
- Failed to start OpenSSH server daemon
- 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
- Android模拟器Genymotion使用详解
- Python3 函数(方法)
- 如何查找 MySQL配置文件 my.ini (my.conf)的位置(案例篇)
- keepalived详解和实战
- html js 跳出框架,现在的web框架为什么把html和js又结合在一起了?
- 小额现金贷用户群体分析及风控体系搭建
- 大型项目开发: 隔离 (《大规模C++程序设计》书摘)
- 计算机组成与系统结构习题
- Android 四大开发组件
- 杰奇python采集器_linux下能完美运行的杰奇采集器ckp
- 15.4.1 使用CREATE OR REPLACE VIEW语句修改视图结构
- Centos7.6安装Bugzilla5.0.4
- java 真少林倚天屠龙夺艳记,2019年9月13日資訊重點:月夜吟詠詩意長安十九屆中央第四輪巡視全部進駐...
- 解决显卡驱动错误43
- h5页面定时跳转+读秒