我正在尝试使用matplotlib制作一个情节。我当前的日期实际上是整数,195003,195006等。因此,当我制作情节时,折线图并不平滑,因为195012至195101之间存在较大差距。有没有办法解决这个问题?非常感谢!
import matplotlib.pyplot as plt
x = [195003,195006,195009,195012,195103,195106,195109]
y = [1,2,3,4,3,2,1]
plt.plot(x,y)
#This is the target - a smooth line chart
plt.figure(2)
plt.plot(y)
答案 0 :(得分:0)
如果我正确读到这个,整数195003代表1950年3月?所以我认为将整数日期转换为datetime.date
个对象会做你想要的,因为matplotlib可以获取x数据的日期列表。
import datetime
x = [195003,195006,195009,195012,195103,195106,195109]
y = [1,2,3,4,3,2,1]
years = [str(y)[:4] for y in x]
months = [str(m)[4:] for m in x]
dates = [datetime.date(int(y), int(m), 1) for y,m in zip(years, months)]
plt.plot(dates, y)