我想繪製一些subplots,我似乎無法共享座標軸。我看過其他的代碼,它們看起來像我試圖做的一樣,但我的似乎沒有做任何事情。plt.subplot軸共享不起作用
我只想分享左邊四個子圖中的各個座標軸,同時保持最右側的子圖分開。
import numpy as np
import matplotlib.pyplot as plt
# set the data
x_data = np.linspace(0, 10)
y_data_1 = np.sin(x_data)
y_data_2 = np.cos(x_data)
y_data_3 = [i/2 for i in y_data_1]
y_data_4 = [j/2 for j in y_data_2]
# make the plot
ax1 = plt.subplot(2,3,1)
plt.plot(x_data, y_data_1)
ax2 = plt.subplot(2,3,2, sharey=ax1)
plt.plot(x_data, y_data_1)
plt.plot(x_data, y_data_2)
ax3 = plt.subplot(1,3,3)
plt.plot(x_data)
ax4 = plt.subplot(2,3,4, sharex=ax1)
plt.plot(x_data, y_data_1)
plt.plot(x_data, y_data_2)
plt.plot(x_data, y_data_3)
ax5 = plt.subplot(2,3,5, sharex=ax2, sharey=ax4)
plt.plot(x_data, y_data_1)
plt.plot(x_data, y_data_2)
plt.plot(x_data, y_data_3)
plt.plot(x_data, y_data_4)
plt.show()
正如你所看到的,儘管加入sharex和sharey參數到plt.subplot命令返回的情節顯示所有獨特的次要情節。
我敢肯定,我犯了一個小錯誤,但我已經嘗試過,並記住我有同樣的問題!任何幫助表示讚賞,以及對其他方法的建議。即使是網站也有不同的方式來做同樣的事情,這有點令人困惑。
謝謝!關於f,ax = plt.subplots(2,2 ...),我認爲不可能產生具有不同大小子圖的情節。真的嗎? – fffrost
是的,我想我也得出這個結論。如果您需要使用不同大小的直線格式化單獨的第五個繪圖,那麼您的解決方案將起作用。但是,也許這表明第五個情節應該分開繪製,提交的數字的格式應該在封閉的文檔中完成。 – lcary
@Icary對於可能使用'plt.subplots'進行破解,請參閱下面的答案。 – ImportanceOfBeingErnest