pyplot画多个图,在一个图中绘制多个子图
pyplot绘制多个子图方法
matplotlib在一个图中绘制多个子图用plt.subplot()方法。
import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来正常显示负号if __name__ == '__main__':# plt.figure(figsize=(19.2, 9))# 第一个图:折线图plt.subplot(2, 4, 1)X = range(0, 100)Y = [(x-50)**2 for x in X]plt.title("折线图")plt.plot(X, Y, c="r", label="图例一")plt.xlabel("X")plt.ylabel("Y")plt.legend()# 第二个图:柱状图plt.subplot(2, 4, 2)X=["苹果", "雪梨", "红浪"]Y = [100,200,150]plt.title("柱状图")plt.bar(X, Y, facecolor='#9999ff', edgecolor='white')plt.ylabel("Y")# 第三个图:条形图plt.subplot(2, 4, 3)plt.title("条形图")plt.barh(X, Y, facecolor='#9900cc', edgecolor='white')# 第五个图:饼图plt.subplot(2, 4, 5)labels=["香蕉", "拔辣", "西柚", "柠檬茶", "王炸"]sizes=[100,150,30,75,68]explode = (0, 0.1, 0, 0, 0)plt.title("饼图")plt.pie(sizes, explode=explode, labels=labels, autopct='%.1f%%',shadow=False,startangle=150)# 第六个图:散点图plt.subplot(2, 4, 6)X = range(0, 100)Y1 = np.random.randint(0, 20, 100)Y2 = np.random.randint(0, 20, 100)plt.title("散点图")plt.plot(X, Y1, ".", marker=".", c="#9966ff", label="Y1")plt.plot(X, Y2, ".", marker="*", c="#6699ff", label="Y2")plt.xlabel("X")plt.ylabel("Y")plt.legend(loc="upper right")# 第七个图:雷达图plt.subplot(2, 4, 7, polar=True)plt.title("雷达图", pad=20)labels = np.array(["生命值", "灵敏度", "攻击力", "护甲", "守护光环", "威慑力", "成长"])dataLength = 7data1 = np.random.randint(5, 15, 7)data2 = np.random.randint(4, 15, 7)angles = np.linspace(0, 2 * np.pi, dataLength, endpoint=False) # 分割圆周长data1 = np.concatenate((data1, [data1[0]])) # 闭合data2 = np.concatenate((data2, [data2[0]])) # 闭合angles = np.concatenate((angles, [angles[0]])) # 闭合plt.polar(angles, data1, '.-', linewidth=1) # 做极坐标系plt.fill(angles, data1, alpha=0.25) # 填充plt.polar(angles, data2, '.-', linewidth=1) # 做极坐标系plt.fill(angles, data2, alpha=0.25) # 填充plt.thetagrids(angles * 180 / np.pi, labels) # 设置网格、标签# 第把个图:箱线图plt.subplot(2, 4, 8)A = np.random.randint(0, 20, 100)B = np.random.randint(5, 20, 100)plt.title("箱线图")plt.boxplot((A,B),labels=["A","B"])plt.tight_layout(pad=1.08)plt.show()
效果
方法说明
1、plt.subplot(2, 4, 1)创建一个2行4列的图,并指定当前使用第1个子图。第三个参数可以取0~8(2*4),按行顺序获取子图,例如:plt.subplot(2, 4, 5)就是第5个,也就是第二行第一个。不需要画图的位置可以留空。
2、如果要使用极坐标系,例如上面的雷达图,那么plt.subplot需要加一个参数polar=True,不然这个图会直接覆盖其他的图。
3、为了多个子图间间隔合理,不至于出现不同子图之间文字覆盖,用plt.tight_layout()方法指定间隔。
author:蓝何忠
email:lanhezhong@163.com
pyplot画多个图,在一个图中绘制多个子图相关推荐
- 用python绘制y=x,y=1+sinx,编写Python程序,使用numpy、pandas、matplotlib三个扩展库在一个画布中绘制4个子图.
目录 1.编写Python程序绘制y=x图. 2.绘制表达式为1+sin(x)的图. 3.编写Python程序,使用numpy.pandas.matplotlib三个扩展库在一个画布中绘制4个子图,分 ...
- QGIS打印布局中绘制多个子图
QGIS如何绘制多图 数据准备 这是一份英国大曼彻斯特地区的数据,里面包含了教育.收入.人口密度.绿地比例.城市比例等数据,我们准备把这些数据在地图上呈现出来,为此,我们需要做在地图中绘制6幅子图,这 ...
- Python画多条线在一个图里
概要: python的matplotlib作图很强大,本文教你用6种不同方式解决将多种数据曲线画到一起. 问题: 今天,老板又要一个数据报表,小明选择用 python来实现."用matplo ...
- python 一张图画多条线_Python画多条线在一个图里
概要: python的matplotlib作图很强大,本文教你用6种不同方式解决将多种数据曲线画到一起. 问题: 今天,老板又要一个数据报表,小明选择用 python来实现."用matplo ...
- android 继承类图,Android Studio中绘制UML类图介绍
Android Studio中绘制UML类图介绍 Android Studio中绘制UML类图介绍 动机 最近开始阅读项目源码,从其中一个模块开始看,奈何大项目中的一个模块,对于萌新而言,也太过于复杂 ...
- 怎样使用python画复杂函数_在python中绘制复杂的函数?
我试图在python中绘制一个带有可变参数的复杂函数,并且发现我无法解释的差异.我的代码如下所示:import matplotlib.pyplot as plt from numpy import p ...
- python画多图在一个图_python pyecharts 实现一个文件绘制多张图
Grid并行显示多张图 注意: 第一个图需为 有 x/y 轴的图,即不能为 Pie,其他位置顺序任意 from pyecharts import Bar, Line, Scatter, EffectS ...
- python在地图上画路线_如何在python中绘制热地图(实例)
当我们进行数据挖掘工作.或者进行数据可视化以更好地展示成果时,很多时候我们需要借助到热地图的帮助.今天,我们就来介绍一下在seaborn绘图库中热地图heatmap的使用方法及参数设置. 热地图使用场 ...
- python画车辆轨迹图,在python中绘制轨道轨迹
How can I setup the three body problem in python? How to I define the function to solve the ODEs? Th ...
最新文章
- 也是一个国外的final cut pro的模版网站
- mongodb幽灵操作的解决方案
- C++基础复习——C++语言数据类型
- freertos内核 任务定义与切换 原理分析
- 根据接口文档中的入参,生成自动化测试用例中的异常测试用例,包含用例描述,用例数据
- DOM的​getElementById() 和 getElementsByTagName() 方法
- NO.1 根据数组元素之和,获取对应索引
- C语言程序设计(第2版)课后答案
- 关于debian网卡驱动
- IP 地址分为哪几类?
- ASP.NET项目部署到阿里云服务器(IIS)
- Shiro学习01:使用Shiro实现身份管理和权限验证
- 使用java实现简单五子棋
- 写尽自己一个人的孤独却写不出心里的寂寞
- 【转】推送消息推送机制
- java判断小数位数_java如何获取一个double的小数位数
- [重装系统系列]fcitx 小企鹅输入法 安装 in ubuntu 15.04
- cdh 简介_CDH的介绍和部署
- php 自动关键词,php实现自动获取生成关键词功能
- python执行javascript网页_Python 爬虫如何优雅地执行 javascript 函数