sympy.plottingでグラフと凡例がかぶるときの対処法
タイトルの通り。ざっくりメモのみで。
以下のコードだと
from sympy import * import matplotlib.pyplot as plt plt.style.use('seaborn-darkgrid') x = Symbol('x') p = plot(5*x, x**2, (x, 0, 10), legend = True) p[0].line_color = '#FF0066' p[0].label = '$y=5x$' p[1].line_color = '#3366CC' p[1].label = '$y=x^{2}$' p.show() p.save('plot.png')
こうなる。
線と凡例がかぶってしまう。
Sympyのplotだと本家のmatplotlibみたいに凡例の位置を指定できない。
で、以下のように書くと凡例の位置を動かすことができた。
from sympy import * import matplotlib.pyplot as plt plt.style.use('seaborn-darkgrid') x = Symbol('x') p = plot(5*x, x**2, (x, 0, 10), legend = True) p[0].line_color = '#FF0066' p[0].label = '$y=5x$' p[1].line_color = '#3366CC' p[1].label = '$y=x^{2}$' p.show() fig = p._backend.fig ax = p._backend.ax #凡例の位置を修正 ax.legend(loc = 'upper left') fig.savefig('plot_ok.png')
これでOK。めでたし。