将年份索引添加到列表中

时间:2017-11-23 17:38:08

标签: python matplotlib

我是Python的新手,但我需要使用我教授现有的iPython笔记本来分析数据集(使用python 2)。我拥有的数据位于.txt文档中,是一个由带有“,”作为十进制分隔符的数字组成的列表。我设法导入这个列表并绘制它 - 直到这里都很好。

我现在的问题是: 我希望我的图表的x轴上的索引(年)从563开始,到1995年的第一个值为最后一个值(总共有1,433个数据点)。如何在不触及原始数据的情况下将此索引添加到列表中?

以下是我使用的代码:

import numpy as np
import random
import matplotlib.pyplot as plt
%matplotlib inline

fig = plt.figure(figsize=(15,4))

import os
D = open(os.path.expanduser("~/MY_FILE_DIRECTORY/Data.txt"))
Dat = D.read().replace(',','.')
Dat = [float(x) for x in Dat.split('\n')]
D.close()

plt.subplot(1, 1, 1)
plt.plot(Dat, 'b-')
cutmin = 0
cutmax = 1420
plt.axvline(cutmin, color = 'red')
plt.axvline(cutmax, color = 'red')
plt.grid()

请帮帮我! : - )

1 个答案:

答案 0 :(得分:0)

我想当你说 index 时,你的意思是你的数据的x轴标签不同于你实际数据的x坐标(你不想修改)。您还要说这些指数是从563到1995年的年份。xticks()函数允许您更改x轴上刻度线的局部和标签。因此,您可以将这两行添加到代码中。

index = np.arange(563, 1996, 1, dtype=np.int32)
plt.xticks( index )

希望这是你想要的。