Python 如何在x轴上绘制时间?

Python 如何在x轴上绘制时间?,python,date,Python,Date,当我希望打印日期作为x轴时,ipython通常显示: UnicodeDecodeError:“utf8”编解码器无法解码位置2:无效连续字节中的字节0xd4 以下是一个例子: import datetime import random import matplotlib.pyplot as plt # make up some data x = [(datetime.datetime.now() + datetime.timedelta(days=i)).date() for i in rang

当我希望打印日期作为x轴时,ipython通常显示: UnicodeDecodeError:“utf8”编解码器无法解码位置2:无效连续字节中的字节0xd4

以下是一个例子:

import datetime
import random
import matplotlib.pyplot as plt
# make up some data
x = [(datetime.datetime.now() + datetime.timedelta(days=i)).date() for i in range(12)]
y = [i+random.gauss(0,1) for i,_ in enumerate(x)]
# plot
plt.plot(x,y)
# beautify the x-labels
plt.gcf().autofmt_xdate()
plt.show()
它将显示:UnicodeDecodeError:“utf8”编解码器无法解码位置2的字节0xd4:无效的继续字节
我应该如何解决这个问题?我的python是2.7.10,ipython是3.2.0

我刚刚尝试运行您给出的示例,它在x轴上完美地绘制了日期(从“2015年9月9日”到“2015年9月19日”)。当我将plt.plot(x,y)更改为plt.plot(range(len(x)),y时,问题到底是什么?它也可以完美地绘制。所以我认为这是关于日期的问题。我刚刚尝试运行了你给出的示例,它可以完美地绘制x轴上的日期(从“2015年9月9日”到“2015年9月19日”)。当我将plt.plot(x,y)更改为plt.plot(range(len(x)),y时,问题到底是什么?它也可以完美地绘制。所以我认为这是关于日期的问题。