gpt4 book ai didi

python - matplotlib svg save - contourf 水平周围的浅色边框

转载 作者:行者123 更新时间:2023-12-05 05:25:43 25 4
gpt4 key购买 nike

以下代码部分摘自matplotlib文档的contour demo。我正在使用 contourf 而不是简单的轮廓。等高线图的显示就像我希望它在 matplotlib 图形窗口中一样。

一谈到节省,我对结果并不满意。 PNG 保存看起来很完美,但我没有任何级别,因为 png si 没有矢量格式。保存为 SVG 格式的 PDF 时,我有级别,但级别周围有细浅的边框。起初我以为它们是造成的,因为每个级别都在中风。当用 inkscape 打开 SVG 文件以删除这些笔画时,我发现,实际上级别分别保存了一点点到小或有点太大......当你放大时,你几乎不会注意到它们,但是通过缩小他们变得非常突出。我想它们是由于这样一个事实,即级别的值以低精度保存!?是否可以通过一些命令摆脱这些边界?

我知道这些边界在大多数应用环境中不会产生影响。不幸的是,在我使用它们的地方,它们不仅看起来很丑,而且真的会影响所描绘结果的质量......

import matplotlib
import numpy as np
import matplotlib.cm as cm
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

matplotlib.rcParams['xtick.direction'] = 'out'
matplotlib.rcParams['ytick.direction'] = 'out'

delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
Z = 10.0 * (Z2 - Z1)

plt.ion()
plt.figure()
CS = plt.contourf(X, Y, Z, colors=[[0,0,0.5],[0,0,0.2]])
plt.title('Saved as PNG')
plt.savefig('image1.png')

plt.title('Saved as SVG')
plt.savefig('image1.svg')

saved as PNG saved as SVG

最佳答案

我搜索了很长时间来解决这个问题。在 a github issue我找到了解决方法:

# ... setup code
CS = plt.contourf(X, Y, Z, colors=[[0,0,0.5],[0,0,0.2]])

for a in CS.collections:
a.set_edgecolor("face")

关于python - matplotlib svg save - contourf 水平周围的浅色边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30188011/

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