seabornを使うと凡例が見づらくなる
ということでplotsする際のテクニックを軽く
凡例を描画する際に一言二言加える
seabornをmatplotlibと併せて使っているわけだが、凡例を描画すると背景に消えてしまう事がある。今回はそれを解決した。
まずはデータの準備。適当に連続した数字を。
x = np.arange(0, 10, 0.1) y1 = np.arange(0, 10, 0.1) y2 = np.arange(10, 0, -0.1)
これをseabornを使わずに描画
import matplotlib.pyplot as plt plt.plot(x, y1, label="legend_1") plt.plot(x, y2, linestyle="--", label="legend_2") plt.legend(loc="best") plt.show()
こうなる。凡例が見やすい。
seabornを使うと、、、
import matplotlib.pyplot as plt import seaborn as sns plt.plot(x, y1, label="legend_1") plt.plot(x, y2, linestyle="--", label="legend_2") plt.legend(loc="best") plt.show()
凡例が見にくい(個人差はあります)。
ということでlegendの指定にちょっと書き加える。
import matplotlib.pyplot as plt import seaborn as sns plt.plot(x, y1, label="legend_1") plt.plot(x, y2, linestyle="--", label="legend_2") plt.legend(loc="best", frameon=True, edgecolor="blue") plt.show()
こうなる。ちょっと見やすくなる(個人差はあります)。
だいたいは
plt.legend(frameon=True)
こうするだけでだいぶ見やすくなるわけだが、個人的には枠線があると見やすいと思うので、枠線の色も加えた。
他にもオプションがあるので、リンク先のAPIを参考に。
legend and legend_handler — Matplotlib 2.1.1 documentation
seabornは奥が深い