有效地绘制大时间序列(matplotlib)

时间:2014-05-15 03:02:01

标签: matlab matplotlib plot

我正在尝试使用matplotlib在同一轴上绘制三个时间序列。每个时间序列有10 ^ 6个数据点。虽然生成图形没有问题,但PDF输出很大并且在观看者中打开非常慢。除了以光栅化格式工作,或只绘制时间序列的子集外,有没有办法获得更好的图形性能?我在acrobat中尝试过“优化”,而且我也遇到了同样的问题。

代码如下:

import numpy as np
import matplotlib.pyplot as plt
data=np.loadtxt('data.txt')
idx = data[:,0]
y1 = data[:,1]
y2 = data[:,2]
y3 = data[:,3]
plt.rc('text', usetex=True)
plt.rc('font', size=16)

fig, ax = plt.subplots()


ax.plot(idx,y1,color='b',label=r'$y_1$',
    linewidth=2.0,markersize=10,fillstyle='none')
ax.plot(idx,y2,color='g',label=r'$y_2$',
    linewidth=2.0,markersize=10,fillstyle='none')
ax.plot(idx,y3,color='r',label=r'$y_3$',
    linewidth=2.0,markersize=10,fillstyle='none')

plt.xlabel(r'Index')
plt.ylabel(r'Vales')

legend = ax.legend(loc='upper right',fontsize=16)
ax.set_xscale('log')

plt.savefig('fig1.pdf',bbox_inches='tight')

plt.show()

0 个答案:

没有答案