私はいくつかのサブプロットをプロットしようとしていますが、軸を共有できないようです。私は他のコードを見てきました。彼らは私が試みているように正確にやっているようですが、私のものは何もしていないようです。plt.subplot軸共有が機能しない
左の4つのサブプロットのそれぞれの軸を共有したいだけで、右端にサブプロットを分けておくだけです。
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()
あなたが見ることができるように、plt.subplotにsharexとsharey引数を追加するにもかかわらず、プロットはショーにすべてのユニークなサブプロットを返されたコマンド。
私はマイナーなエラーを起こしていると確信していますが、過去にこれを試してみましたが、同じ問題があったことを覚えておいてください!どのような援助も高く評価されています。ウェブサイトであっても、同じことをするさまざまな方法が含まれていて、少し混乱します。
ありがとうございます! f、ax = plt.subplots(2、2 ...)に関して、私は、異なるサイズのサブプロットを持つプロットを生成することはできないと考えました。本当? – fffrost
ええ、私もその結論に達したと思います。直線と異なるサイズの別の5番目のプロットをフォーマットする必要がある場合は、ソリューションが機能します。しかし、おそらくこれは、5番目のプロットを別々にグラフ化し、レンダリングされた図の書式設定を囲む文書で行うべきであることを示唆しています。 – lcary
@Icary 'plt.subplots'を使って可能なハックについては、下記の私の答えを見てください。 – ImportanceOfBeingErnest