我有一个用时间戳(H:m:s)字符串填充的列表(time),还有一个用数字填充的列表(number)。两个列表的长度相同,接近350,000个元素。
绘图不是问题,一切都很顺利,但问题出现在添加线条时
plt.xticks(range(len(number)), time, rotation=90, size='small')我的脚本失败了,因为
Traceback (most recent call last):
File "G:\Documents\work\program.py", line 114, in <module>
plt.xticks(range(len(number)), time, rotation=90, size='small')
File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 1674, in xticks
locs = ax.set_xticks(args[0])
File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py", line 2850, in set_xticks
ret = self.xaxis.set_ticks(ticks, minor=minor)
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1606, in set_ticks
return self.get_major_ticks(len(ticks))
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1294, in get_major_ticks
tick = self._get_tick(major=True)
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1675, in _get_tick
return XTick(self.axes, 0, '', major=major, **tick_kw)
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 154, in __init__
self.label1 = self._get_text1()
File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 372, in _get_text1
horizontalalignment=horiz,
MemoryError这对于matplotlib来说真的太多了吗?还是我做错了什么?(除了使用Windows)
发布于 2016-04-19 05:08:05
我猜,350,000个滴答声只会产生一条宽线。一个接一个地写350,000个字符串也会创建很难读懂的标签。
每10000个刻度和数字尝试一次:
plt.xticks(range(len(number))[::10000], time[::10000], rotation=90, size='small')使步骤逐渐变小,以查看哪些步骤仍然可读。
要使缩放生效,请使用plt.AutoLocator()
ax = plt.gca() # or use the reference to the axes you already have
ax.xaxis.set_major_locator(plt.AutoLocator())https://stackoverflow.com/questions/36703409
复制相似问题