我使用Python matplotlib绘制了一个包含大量数据的图形。在执行plt.show()时,我可以放大并查看图表的细节。但是,我想将图形保存到一个带有plt.savefig的svg文件中,并查看默认的非缩放视图中看不到的这些细节。我怎么能这么做?
请注意,当使用矢量图形格式(如svg文件)时,增加DPI或一英寸一英寸的尺寸是毫无意义的。
例如,请考虑以下程序。
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0,100,0.00001)
y = x*np.sin(2*math.pi*(x**1.2))
plt.plot(y)
plt.savefig('test.svg')我们会得到下面的图,即使我们放大,我们也看不到正弦波周期的细节。

但是我们可以看到正弦波的细节时,用plt.show代替显示图像,然后放大。

发布于 2020-02-04 13:46:07
添加该数字的大小:
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0,100,0.00001)
y = x*np.sin(2*math.pi*(x**1.2))
fig = plt.figure(figsize=(19.20,10.80))
plt.plot(y)
plt.savefig('test.svg')你就能得到你想要的那种决心。
正如JohanC正确地观察到的,另一个好的解决方案是减少线条的宽度:
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0,100,0.00001)
y = x*np.sin(2*math.pi*(x**1.2))
#fig = plt.figure(figsize=(19.20,10.80))
plt.plot(y, linewidth=0.1)
plt.savefig('test.svg')https://stackoverflow.com/questions/60058028
复制相似问题