Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x twinx方法如何在一个图形中绘制4幅图片_Python 3.x_Pandas_Numpy_Matplotlib - Fatal编程技术网

Python 3.x twinx方法如何在一个图形中绘制4幅图片

Python 3.x twinx方法如何在一个图形中绘制4幅图片,python-3.x,pandas,numpy,matplotlib,Python 3.x,Pandas,Numpy,Matplotlib,我想画两个y轴和一个x轴,在一个图形窗口中只画一张图片,我知道怎么做,但如何更改此代码在一个图形窗口中画4张图片 ax1 = axes() ax2 = ax1.twinx() x = np.arange(100) y1 = np.random.rand(100) y2 = np.random.rand(100) ax1.plot(x,y1,'-r') ax1.set_ylim(-1,1) ax2.fill_between(x,0,y2,color='b',alpha=0.5) ax2.set

我想画两个y轴和一个x轴,在一个图形窗口中只画一张图片,我知道怎么做,但如何更改此代码在一个图形窗口中画4张图片

ax1 = axes()
ax2 = ax1.twinx()

x = np.arange(100)
y1 = np.random.rand(100)
y2 = np.random.rand(100)

ax1.plot(x,y1,'-r')
ax1.set_ylim(-1,1)
ax2.fill_between(x,0,y2,color='b',alpha=0.5)
ax2.set_ylim(0,2)

ax1.set_ylabel('Red')
ax2.set_ylabel('Blue') 

这里有一个可行的方法。我只缠绕了一根轴,但实际上所有的轴都可以被类似地对待

import matplotlib.pyplot as plt
import numpy as np
fig, axarr = plt.subplots(nrows=2, ncols=2)
axTx = axarr[0, 0].twinx()
x = np.logspace(-1, 1, 100)
axarr[0, 0].plot(x, x, linewidth=2, color='xkcd:azure')
axTx.plot(x, 1 / x, linewidth=2, color='xkcd:avocado')
axarr[0, 0].tick_params(axis='y', labelcolor='xkcd:azure')
axTx.tick_params(axis='y', labelcolor='xkcd:avocado')
fig.tight_layout()

这里有一个可行的方法。我只缠绕了一根轴,但实际上所有的轴都可以被类似地对待

import matplotlib.pyplot as plt
import numpy as np
fig, axarr = plt.subplots(nrows=2, ncols=2)
axTx = axarr[0, 0].twinx()
x = np.logspace(-1, 1, 100)
axarr[0, 0].plot(x, x, linewidth=2, color='xkcd:azure')
axTx.plot(x, 1 / x, linewidth=2, color='xkcd:avocado')
axarr[0, 0].tick_params(axis='y', labelcolor='xkcd:azure')
axTx.tick_params(axis='y', labelcolor='xkcd:avocado')
fig.tight_layout()

你在找吗?@Patol75我熟悉一个y轴的简单子图,这里我想用两个y轴来绘制子图,假设你这样称呼子图:
fig,(ax,bx,cx,dx)=plt。子图(nrows=2,ncols=2)
,你仍然可以用你在问题中描述的相同方式对每个轴进行孪生。这会是你想要的吗?@Patol75请你添加一个例子好吗?见下文。还有,为上面的错误感到抱歉,我总是犯这样的错误:即使子地块生成4个轴,但它们被打包到两个列表中,因为有多行和多列。你在找吗?@Patol75我熟悉带有一个y轴的简单子地块,这里我想用两个y轴绘制子地块,假设你这样调用子地块:
fig,(ax、bx、cx、dx)=plt.子批次(nrows=2,ncols=2)
,您仍然可以按照您在问题中描述的方式对每个轴进行孪生。这是您想要的吗?@Patol75请您为这一点添加示例?请参见下文。此外,对于上面的错误,我总是这样做:即使子地块生成4个轴,但它们被打包到两个列表中,因为有多行和多列。