使用iPython内嵌图的SVG呈现问题

2024-03-29 12:03:38 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在iPython(QtConsole)中使用内联绘图时,第一个绘图看起来(或多或少)很好,但后来它变得越来越奇怪。当我把某个东西画几次(所以绘图,看到它显示出来,再画一次,看看输出等等),它看起来就像是被上一张歪斜的图片覆盖了。因此,在一行中绘制了4次对角线(x=y)之后,我得到了这样的结果enter image description here

如果我右键单击并将其导出为svg,则所有内容看起来都很好enter image description here

(输出的PNG图片仍为第一张)。 我想这个问题类似于https://github.com/ipython/ipython/issues/1866,但我没有得到讨论的结果(它变得太技术化和复杂,我无法理解)。 有没有解决这个问题的方法或解决办法?在

我在用

python 2.7
matplotlib 1.4.1
IPython 2.1.0

下面是一个工作示例:

^{pr2}$

如果删除plt.axis('off')行,奇怪的事情只会发生在轴框之外。在

最初我在用networkx绘制图形时遇到了这个问题。如果我使用来自networkxdraw,则不会出现此问题。如果我使用draw_networkx,则会发生上述情况。这可能是问题的核心。。。我想弄清楚哪一行代码能让一个比另一个更好。。。在


Tags: httpssvgnetworkxgithub绘图内容pngipython
1条回答
网友
1楼 · 发布于 2024-03-29 12:03:38

在修改了来自networkx模块的drawdraw_networkx函数之后,我找到了一个解决方法,在本例中,draw和{}之间的区别。 添加fig.set_facecolor('w')覆盖背景中的任何内容,因此新的绘图以一张白纸开始(但我猜不是空白的)。 因此,新的工作示例是:

%matplotlib inline
% config InlineBackend.figure_format = 'svg'
import matplotlib.pyplot as plt
a=range(10)
fig,ax=plt.subplots()
fig.set_facecolor('w')
ax.plot(a,a)
ax.axis('off')

相关问题 更多 >