简单的Python图 - 货币和日期

时间:2016-04-01 09:36:52

标签: python numpy matplotlib

我试图玩一些有两列的数据,特别是一个txt文件。第一列是格式(dd / mm / yyyy)的日期,第二列是值。这两列用空格分隔,而不是逗号。

我试图绘制一个简单的情节,但似乎无法将2列分开。

   import numpy as np
   import matplotlib.pyplot as plt

   with open("EURGBP DATA.txt") as f:
       data = f.read()

   data = data.split('\n')

   x = [row.split()[0] for row in data]
   y = [row.split()[1] for row in data]

   fig = plt.figure()

   ax1 = fig.add_subplot(111)

   ax1.set_title("Plot DAta")    
   ax1.set_xlabel('x')
   ax1.set_ylabel('y')

   ax1.plot(x,y, c='r', label='the data')

   leg = ax1.legend()

   plt.show()

它不喜欢我想的日期格式,但我会绕圈子去看看!

由于

1 个答案:

答案 0 :(得分:2)

如果您的文件看起来像这样:

2015/10/12 1
2015/10/13 2
2015/10/14 10

您可以使用此代码来操纵xticks:

import numpy as np
import matplotlib.pyplot as plt


with open("EURGBP DATA.txt") as f:
    data = f.read()

    data = data.split('\n')

    x = [row.split()[0] for row in data]
    y = [row.split()[1] for row in data]

index = [i for i,val in enumerate(x)]

fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.set_title("Plot DAta")    
ax1.set_xlabel('x')
ax1.set_ylabel('y')
ax1.set_xticklabels(x)
ax1.plot(index ,y, c='r', label='the data')
leg = ax1.legend()
plt.locator_params(nbins=len(index)-1)
plt.show()