我不知道如何告诉matplotlib在数组子图的一个特殊子图中使用不同的轴:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def plotter():
y=np.random.rand(10)
y1 = np.random.rand(10)*100
x = np.arange(len(y))
f, axarr = plt.subplots(2,2,sharex=True)
axarr[0][0].errorbar(x,y,)
axarr[0][0].errorbar(x,y1)
axarr[1][1].twinx()
axarr[1][1].errorbar(x,y)
axarr[1][1].errorbar(x,y1)
plt.show()
plotter()
这给出了: 问题是我的一个数据集大了一百倍,所以在同一个y轴上绘制它们是没用的。我想要的右下方面板(仅适用于此面板)是一个y轴,其范围从图表右侧的(0,10)到另一侧的范围(0,100)。蓝线应由右(0,10)y轴表示,而蓝线应由左(0,100)y轴表示
答案 0 :(得分:0)
这样做的一种方法是:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def plotter():
y=np.random.rand(10)
y1 = np.random.rand(10)*100
x = np.arange(len(y))
f, axarr = plt.subplots(2,2,sharex=True)
axarr[0][0].errorbar(x,y,)
axarr[0][0].errorbar(x,y1)
axarr[1][1].errorbar(x,y)
ax2 = axarr[1][1].twinx()
ax2.plot(x,y1, 'r')
#ax2.tick_params('y', colors='r')
plt.show()
plotter()
这给出了这个: