gpt4 book ai didi

python - 使用 iPython 内联图的 SVG 渲染问题

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:28 25 4
gpt4 key购买 nike

当我在 iPython (QtConsole) 中使用内联图时,第一个图看起来(或多或少)不错,但随后变得越来越奇怪。当我多次绘制某物时(如此绘制,查看显示,再次绘制,查看输出等),它看起来像是被倾斜的前一张图片覆盖。因此,在连续绘制对角线 (x=y) 4 次之后,我得到了这样的结果 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

这是一个工作示例:

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

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

附言最初,我在使用 networkx 绘制图形时遇到了这个问题。如果我使用 networkx 中的 draw,则不会出现此问题。如果我使用 draw_networkx,就会发生与上述相同的情况。这可能指向问题的核心......我试图找出哪一行代码使一个代码比另一个更好......

最佳答案

在修改了 networkx 模块中的 drawdraw_networkx 函数之后,我找到了使 draw 不同的解决方法draw_networkx 在这种情况下。添加 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')

关于python - 使用 iPython 内联图的 SVG 渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28066279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com