当前位置:首页 » 编程语言 » python子图

python子图

发布时间: 2022-08-08 15:31:13

python plt.plot怎么把图显示出来

1, 导入matplotlib.pyplot, numpy 包:
import numpy as np
import matplotlib.pyplot as plt

2,添加主题样式:
plt.style.use('mystyle')

3, 设置图的大小,添加子图:
fig = plt.figure(figsize=(5,5))
ax = fig.add_subplot(111)

4,绘制sin, cos:
x = np.arange(-np.pi, np.pi, np.pi / 100)
y1 = np.sin(x)
y2 = np.cos(x)
sin, = ax.plot(x, y1, color='red', label='sin')
cos, = ax.plot(x, y2, color='blue', label='cos')
ax.set_ylim([-1.2, 1.2])

第二种方式 拆分显示
sin_legend = ax.legend(handles=[sin], loc='upper right')
ax.add_artist(sin_legend)
ax.legend(handles=[cos], loc='lower right')

plt.show()
import numpy as np
import matplotlib.pyplot as plt

# 添加主题样式
plt.style.use('mystyle')

# 设置图的大小,添加子图
fig = plt.figure(figsize=(5,5))
ax = fig.add_subplot(111)

for color in ['red', 'green']:
n = 750
x, y = np.random.rand(2, n)
scale = 200.0 * np.random.rand(n)
ax.scatter(x, y, c=color, s=scale,
label=color, alpha=0.3,
edgecolors='none')
ax.legend()
ax.grid(True)
plt.show()

㈡ python中fig,ax=plt.subplots什么意思

fig,ax=plt.subplots的意思是将plt.subplots()函数的返回值赋值给fig和ax两个变量。

plt.subplots()是一个函数,返回一个包含figure和axes对象的元组,因此,使用fig,ax=plt.subplots()将元组分解为fig和ax两个变量。

通常,我们只用到ax:

fig,ax = plt.subplots(nrows=2, ncols=2)

axes = ax.flatten()

把父图分成2*2个子图,ax.flatten()把子图展开赋值给axes,axes[0]便是第一个子图,axes[1]是第二个。


(2)python子图扩展阅读

在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个Axes对象。每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。所属关系如下:

def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,

subplot_kw=None, gridspec_kw=None, **fig_kw):

参数:

nrows,ncols:子图的行列数。

sharex, sharey:

设置为 True 或者 ‘all’ 时,所有子图共享 x 轴或者 y 轴,

设置为 False or ‘none’ 时,所有子图的 x,y 轴均为独立,

设置为 ‘row’ 时,每一行的子图会共享 x 或者 y 轴,

设置为 ‘col’ 时,每一列的子图会共享 x 或者 y 轴。

返回值

fig:matplotlib.figure.Figure对象

ax:子图对象(matplotlib.axes.Axes)或者是他的数组

㈢ python画多个子图如何标注图a 图b这种标注

#设置图的标题
a.set_title('a')

b.set_title('b')

㈣ 见图。python matplotlib 子图图例不显示完全。怎么解决

ax[0].legend(),ax[1].legend(),直接使用plt.legend()一般只会出现一个

㈤ python 如何绘制子图的同时绘制双坐标轴图像

用subplots替代subplot,因为在两者都可以画子图的情况下,subplots也可以同时画双y轴。
fig, ax = plt.subplots(2,2) #产生4个子图
在第1个子图里画双y轴:
ax[0].plot(x,y10) #画子图1的第一个y轴值
ax[0].set_ylabel('num0') #标记它的第一个纵坐标为'num0'
ax01 = ax[0].twinx() #产生子图1里的第二个纵坐标
ax01.plot(x,y11, )#画子图1的第二个y轴值
ax01.set_ylabel('num01')#标记子图1里的第二个纵坐标,用'num01'表示

再画第2个子图里的双y轴:
ax[1].plot(x,y20) #画子图2的第一个y轴值
ax[1].set_ylabel('num1') #标记它的第一个纵坐标为'num1'
ax11 = ax[1].twinx() #产生子图1里的第二个纵坐标
ax11.plot(x,y21, )#画子图1的第二个y轴值
ax11.set_ylabel('num11')#标记子图1里的第二个纵坐标,用'num11'表示
同理,第三第四个子图。。。。

㈥ python matplotlib模块 如何画两张图出来

python matplotlib模块 如何画两张图出来的方法:

代码如下所示:

import numpy as np

import matplotlib.pyplot as plt

#创建自变量数组

x= np.linspace(0,2*np.pi,500)

#创建函数值数组

y1 = np.sin(x)

y2 = np.cos(x)

y3 = np.sin(x*x)

#创建图形

plt.figure(1)

'''

意思是在一个2行2列共4个子图的图中,定位第1个图来进行操作(画图)。

最后面那个1表示第1个子图。那个数字的变化来定位不同的子图

'''

#第一行第一列图形

ax1 = plt.subplot(2,2,1)

#第一行第二列图形

ax2 = plt.subplot(2,2,2)

#第二行

ax3 = plt.subplot(2,1,2)

#选择ax1

plt.sca(ax1)

#绘制红色曲线

plt.plot(x,y1,color='red')

#限制y坐标轴范围

plt.ylim(-1.2,1.2)

#选择ax2

plt.sca(ax2)

#绘制蓝色曲线

plt.plot(x,y2,'b--')

plt.ylim(-1.2,1.2)

#选择ax3

plt.sca(ax3)

plt.plot(x,y3,'g--')

plt.ylim(-1.2,1.2)

plt.show()

附上效果图。

㈦ python matplotlib subplot 上面面积大下面小怎么办

在matplotlib下,一个Figure对象可以包含多个子图(Axes),可以使用subplot()快速绘制,其调用形式如下:

subplot(numRows, numCols, plotNum)

图表的整个绘图区域被分成numRows行和numCols列,plotNum参数指定创建的Axes对象所在的区域,如何理解呢?
如果numRows = 3,numCols = 2,那整个绘制图表样式为3X2的图片区域,用坐标表示为(1,1),(1,2),(1,3),(2,1),(2,2),(2,3)。这时,当plotNum = 1时,表示的坐标为(1,3),即第一行第一列的子图;

import numpy as np

㈧ Python的 matplotlib画图,怎么把子图的每个横坐标显示出来

ax = subplots(nrows,ncols,sharex,sharey,squeeze,subplot_kw,gridspec_kw,**fig_kw)

创建画布和子图。

nrowsncols表示将画布分割成几行几列 ,

sharexsharey表是共用xy轴的设置。

squeeze bool

a.默认参数为True:额外的维度从返回的Axes(轴)对象中挤出,对于N*1或1*N个子图,返回一个1维数组,对于N*M,N>1和M>1返回一个2维数组。

b.为False,不进行挤压操作:返回一个元素为Axes实例的2维数组,即使它最终是1x1。

subplot_kw:字典类型,可选参数。把字典的关键字传递给add_subplot()来创建每个子图。

subplot_kw:字典类型,可选参数。把字典的关键字传递给add_subplot()来创建每个子图。

gridspec_kw:字典类型,可选参数。把字典的关键字传递给GridSpec构造函数创建子图放在网格里(grid)。

**fig_kw:把所有详细的关键字参数传给figure()函数。

可见你没有办法单独设置某个子图的ax的。

热点内容
如何获得打印机无线密码 发布:2024-05-04 06:44:59 浏览:416
上古诸神录哪里改密码 发布:2024-05-04 06:43:55 浏览:261
灌篮高手手游自动盖帽脚本 发布:2024-05-04 06:42:31 浏览:423
javajs引擎 发布:2024-05-04 06:37:33 浏览:796
javalist重复 发布:2024-05-04 06:19:27 浏览:509
max脚本管理 发布:2024-05-04 06:02:31 浏览:45
自行搭建服务器 发布:2024-05-04 06:01:12 浏览:125
h3c如何查看所有配置 发布:2024-05-04 05:26:39 浏览:493
java统计字符串中字母个数 发布:2024-05-04 05:22:58 浏览:888
throwablejava 发布:2024-05-04 05:22:56 浏览:792