我可以修改plot
对象修改
plot.show()
的属性以及稍后调用plot
。
如果我需要定制不直接暴露的情节的某些方面
通过be = plot._backend
,例如,轴的标签的大小,我可以访问
我的情节的Matplotlib后端,plot.show()
有条件
我已经展示了(如%matplotlib
)我的情节。
这在终端IPython会话中很好用(使用
savefig
魔法因为这个数字不断更新而且
在脚本中工作(不太好),因为各种原因我都是
可以做,但从根本上说是足够好,是使用be.fig.savefig(...)
方法
后端,%matplotlib inline
。
输入Jupiter笔记本。出于性能原因,我更喜欢使用
魔法savefig
,所以如果我想访问Matplotlib
后端我必须在输出单元格中实例化绘图,但稍后
我放置的任何修改都会丢失,因为情节已不复存在
再次更新......我所能做的就是be.fig.show()
。如果我尝试
/home/boffi/lib/miniconda3/lib/python3.6/site-packages/matplotlib/figure.py:459: UserWarning:
我收到错误消息
matplotlib is currently using a non-GUI backend, so cannot show the figure
"matplotlib is currently using a non-GUI backend, "
%matplotlib inline
是否有可能做我想做的事情,即修改a的细节 Sympy在Jupyter笔记本中使用Matplotlib后端的情节 使用{{1}}魔法?
答案 0 :(得分:4)
一个症状情节是一个matplotlib情节。 现在肯定取决于你想做什么。对于大多数stilistic适应,您可以在绘图之前设置相应的rcParams。
%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams["xtick.labelsize"] = 16
plt.rcParams["xtick.color"] = "red"
from sympy import symbols
from sympy.plotting import plot
x = symbols('x')
p = plot(x**2, (x, -5, 5))
此外,确实可以在创建图形后修改图形和轴。
fig = p._backend.fig
ax = fig.axes[0]
ax.set_xticks([-4,4])
for i, label in enumerate(ax.get_yticklabels()):
label.set_rotation(i*15)
label.set_size(15)
label.set_color((1.-i/10.,0,i/10.))
fig
值得注意的是fig.show()
根本不应该在内联后端工作。