matplotlib如何画子图

目录

  • 前言
  • 常用的两种方式
    • 方式一:通过plt的subplot
    • 方式二:通过figure的add_subplot
  • 如何不规则划分

前言

Matplotlib的可以把很多张图画到一个显示界面,在作对比分析的时候非常有用。
对应的有plt的subplot和figure的add_subplo的方法,参数可以是一个三位数字(例如111),也可以是一个数组(例如[1,1,1]),3个数字分别代表

  1. 子图总行数
  2. 子图总列数
  3. 子图位置

更多详情可以查看:matplotlib文档

下面贴出两种绘子图的代码

常用的两种方式

方式一:通过plt的subplot

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# author: chenqionghe

# 画第1个图:折线图
x=np.arange(1,100)
plt.subplot(221)
plt.plot(x,x*x)

# 画第2个图:散点图
plt.subplot(222)
plt.scatter(np.arange(0,10), np.random.rand(10))

# 画第3个图:饼图
plt.subplot(223)
plt.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,0])

# 画第4个图:条形图
plt.subplot(224)
plt.bar([20,10,30,25,15],[25,15,35,30,20],color='b')
plt.show()

方式二:通过figure的add_subplot

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# author: chenqionghe

fig=plt.figure()

# 画第1个图:折线图
x=np.arange(1,100)
ax1=fig.add_subplot(221)
ax1.plot(x,x*x)

# 画第2个图:散点图
ax2=fig.add_subplot(222)
ax2.scatter(np.arange(0,10), np.random.rand(10))

# 画第3个图:饼图
ax3=fig.add_subplot(223)
ax3.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,0])

# 画第4个图:条形图
ax4=fig.add_subplot(224)
ax4.bar([20,10,30,25,15],[25,15,35,30,20],color='b')
plt.show()

运行结果如下

就是这么简单,

如何不规则划分

前面的两个图占了221和222的位置,如果想在下面只放一个图,得把前两个当成一行,即2行1列第2个位置

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# author: chenqionghe

# 画第1个图:折线图
x=np.arange(1,100)
plt.subplot(221)
plt.plot(x,x*x)

# 画第2个图:散点图
plt.subplot(222)
plt.scatter(np.arange(0,10), np.random.rand(10))

# 画第3个图:饼图
plt.subplot(223)
plt.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f',explode=[0,0.05,0,0])

# 画第3个图:条形图
# 前面的两个图占了221和222的位置,如果想在下面只放一个图,得把前两个当成一行,即2行1列第2个位置
plt.subplot(212)
plt.bar([20,10,30,25,15],[25,15,35,30,20],color='b')
plt.show()

运行结果如下

没错,就是这么简单!

原文地址:https://www.cnblogs.com/chenqionghe/p/12355018.html

时间: 2024-07-31 03:00:21

matplotlib如何画子图的相关文章

Python数据分析库pandas ------ 初识 matpoltlib:matplotliab画图怎么显示中文;设置坐标标签;主题;画子图;pandas时间数据格式转化;图例;

打开画布,传入x,y的值,可以简单的画出曲线图 1 import matplotlib.pyplot as plt 2 3 c = [ 4 0.9012051747628913, 0.9012051747628913, 0.9012051747628913, 0.9012051747628913, 5 0.9012051747628913, 0.9012051747628913, 0.9012051747628913, 0.9012051747628913, 6 0.90120517476289

matplotlib包画基本的图

画直线图 1.最简单的用法: import matplotlib.pyplot as plt import numpy as np x=np.linspace(-3,3,50) #在(-1,1)范围内生成50个数,等分的, y=2*x+1 #一张图里画一条线 plt.figure() #如果是一张图里只有一条线,则使用它与不使用他差别不大,如果是在一张图里有2条或多条线,则使用它可以把两条线放在一个图里. plt.plot(x,y) plt.show() 2.有的时候需要在一张图里画两条或多条线

csv读入数据,用julia/matplotlib/pyplot 画矢量图导入word中

这是是用julia来实现画图.julia有三个画图库:Winston.Gadfly.PyPlot 这里用的是pyplot,事实上他是基于matplotlib的 1.首先在juno里安装两个库 juno是julia的集成开放环境(IDE) 没有安装juno的请看这里:http://blog.csdn.net/fuzimango/article/details/47721055 在juno中安装这两个库:直接ctrl+Enter执行就成了 Pkg.add("DataFrames")#表格库

python 的 matplotlib画图 画曲线图

<span style="font-size:24px;">#encoding:utf-8 #1.绘制曲线: import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 1000) y = np.sin(x) plt.figure(figsize=(8,4)) plt.plot(x,y,label="$sin(x)$",color="red",li

今天用matplotlib库画数学图啦

一.第一个图 代码如下; import numpy as np import matplotlib.pyplot as pltplt.title("amao") x=np.linspace(0,6,100) y=np.cos(2*np.pi*x)*np.exp(-x)+0.8 plt.plot(x,y,'k',color='r',linewidth=3,linestyle="-") plt.show() 成果图: 二.第二个图 代码如下: import matplo

matplotlib画3D图修改X,Y,Z,colorbar的刻度值

修改X,Y,Z轴的刻度值 from matplotlib.ticker import MultipleLocator,FuncFormatter from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt from matplotlib import cm from matplotlib import colors from matplotlib.ticker import LinearLocator, Form

Py修行路 Matplotlib 绘图及可视化模块

Matplotlib是一个强大的Python绘图和数据可视化的工具包. 安装方法:pip install matplotlib 引用方法:import matplotlib.pyplot as plt 绘图方法 绘图函数:plt.plot() #调用函数生成图像 显示图像:plt.show() #显示图像 注意:每显示一次就会把创建的图对象数据清空,当需要再次显示的话,就需要再创建一个数据 绘图函数语法:plt.plot(["数据1","数据2","数据3

读书笔记5基于matplotlib画图

一.导入需要的模块 import numpy as np import matplotlib.pyplot as plt import seaborn as sns import scipy.stats as stats 二.画基本图形 1.plot画图 y=np.random.randn(100) plt.plot(y,'b-') plt.xlabel('x') plt.ylabel('y') plt.title(u'title') plt.show() 可选参数如下所示: 也可以通过更改参数

利用matplotlib进行数据可视化

matplotlib是python中的一个画图库,继承了matlib(从名字上也看得出来)的优点和语法,所以对于熟悉matlib的用户来说是十分友好的. pylab和pyplot 关于pylab和pyplot,人们做过不少的讨论.这两个模块有哪些不同呢?pylab模块跟matplotlib一起安装,而pyplot则是matplotlib的内部模块.两者的导入方法有所不同,可选择其中一种进行导入. from pylab import * #或 import matplotlib.pyplot as