凡例に2つタイトルを含めて表示したい
pythonのmatplotlibで可視化するプログラムを作成しています。
凡例を2つに分けてそれぞれにタイトルをつけているのですが、凡例1つに対してタイトル2つ表示できないか苦心しています。
該当のソースコード
以下のプログラムでは凡例が線形
linear
y=x
y=2x
と非線形
non-linear
y=x^2
y=2x^2
の2つに分かれて表示されます。
python
1import numpy as np 2import matplotlib.pyplot as plt 3 4fig, ax = plt.subplots() 5x = np.linspace(0, 2, 100) 6y1 = x; y2 = 2*x 7p1, = plt.plot(x, y1, label="$y=x$") 8p2, = plt.plot(x, y2, label="$y=2x$") 9legend_p = plt.legend(handles=[p1, p2], loc=2, title="linear") 10plt.gca().add_artist(legend_p) 11y1 = x**2; y2 = 2*x**2 12 13q1, = plt.plot(x, y1, label="$y=x^2$") 14q2, = plt.plot(x, y2, label="$y=2x^2$") 15legend_q = plt.legend(handles=[q1, q2], loc=6, title="non-linear") 16plt.gca().add_artist(legend_q) 17plt.show()
ここで表示される凡例を結合してそれぞれに対してタイトルをつけることは可能でしょうか。
つまり同じ箱に以下のようにまとめて表示することは可能でしょうか。
タイトル含め3行の凡例が(ncol=2で並ぶように3×2で)横並びに出るように結合できると嬉しいですが
6行になってもよいので、そういうことが可能かどうか、また可能ならその方法も教えてください。
3×2
linear non-linear
y=x y=x^2
y=2x y = 2x^2
6行
linear
y=x
y=2x
non-linear
y=x^2
y=2x^2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。