我喜欢使用Jupyter笔记本,但似乎无法找到正确的后端来显示图形:Table A TABLE B (has fk of A) TBALE C (HAS FK OF B)
aid aname bid bname afk cid cname bfk
1 a 1 b 1 1 c 1
2 a2 2 b2 2 2 c2 1
select a.aname , b.bname , c.cname from A a
left join B b
on a.aid = b.afk
left join C c
on c.bfk = b.bid;
生成真正低分辨率的位图图像,但速度快,{{{ 1}}或%matplotlib inline
慢,但是高分辨率矢量图形。
后者是否会因为必须设置交互界面而变慢?我一般希望所有的数据都可以通过点击按钮重现,所以我不想手动操作它们 - 也许我可以禁用每个情节的互动?
或者可以调整前者以显示更高分辨率的数字,还是加载矢量图形而不是位图图像?
答案 0 :(得分:0)
正如经常发生的那样,我在发布问题后立即找到答案。只需使用
%config InlineBackend.figure_format='retina'
%matplotlib inline
用于高分辨率位图,或用于矢量图形,
%config InlineBackend.figure_format='svg'
%matplotlib inline
这就是诀窍! 虽然这样做的一个问题是 Figure
边界框被扩展为显示每个Artist
对象;我认为在显示数字之前会在内部使用类似fig.tight_layout()
的内容。我实际上更喜欢切断边缘,以便我可以看到需要调整哪些参数(例如,如果ylabel
被切除,我可以在left=
中更改gridspec_kw
{1}}字典传递给plt.subplots
)。因此,如果有人有办法显示上面的数字,但也只显示Figure
边界框内的内容,我会很感激。
还想出了即使Artist
走出去,如何使后端保留打印图形边界框 - 只需使用
%config InlineBackend.print_figure_kwargs=dict()
因为默认情况下,它的值为{'bbox_inches': 'tight'}
...非常简单!找不到任何相关文档,但如果您输入Jupyter
,则%config InlineBackend
会显示不同的选项。