我最近使用Python和matplotlib创建了一个大点图PDF文件。该图包含20,000个点。 Acrobat Reader中的PDF显示速度很慢。
我向同事展示了这个文件。他说R优化了PDF文件的输出。
matplotlib是否具有文件输出的优化设置?或者是否有另一个可提供此功能的可视化Python库?
这个问题类似于这个问题。 Matplotlib PDF backend slow?
除了相关问题中提到的任何已知更新?
[编辑]
下面是Python代码,根据要求,生成一个作为Collatz猜想一部分的图。此图与此Wikipedia页面上显示的第一个图类似。 https://en.wikipedia.org/wiki/Collatz_conjecture
我只是在学习Python,并没有写过“精神”和#39; Python那是为了以后的事情。最后三行产生了有问题的PDF文件。
maxnumber = 20000
def collatz(n,nlist):
nlist.append(n)
if n != 1 :
if(n%2 == 1):
collatz(n*3 + 1, nlist)
else:
collatz(int(n/2), nlist)
return
collatzlist = []
for n in range(2,maxnumber+1): #[n,m)
nlist = []
collatz(n, nlist)
collatzlist.append(nlist)
collatzycount = []
collatzxcount = []
count = 1
for x in collatzlist:
collatzxcount.append(count)
collatzycount.append(len(x))
count = count + 1
collatzhistoy = [0] * (max(collatzycount)+1)
import matplotlib.pyplot as plt
fig = plt.figure('collatz iteration plot')
plt.plot(collatzxcount,collatzycount, "ro")
fig.savefig('collatziteration.pdf', bbox_inches='tight')