【发布时间】:2017-01-29 10:31:23
【问题描述】:
我正在尝试绘制一个 x-y 图,其中 x 或 y 作为日期变量,并使用第三个变量为点着色。 如果 3 个变量都不是日期,我设法做到了,使用:
ax.scatter(df['x'],df['y'],s=20,c=df['z'], marker = 'o', cmap = cm.jet )
经过搜索,我发现对于正常的情节,我们必须使用 plot_date()。不幸的是,我无法为这些点着色。 有人可以帮帮我吗?
这是一个小例子:
import matplotlib, datetime
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import pandas as pd
todayTime=datetime.datetime.now();
df = pd.DataFrame({'x': [todayTime+datetime.timedelta(hours=i) for i in range(10)], 'y': range(10),'z' : [2*j for j in range(10)]});
xAlt=[0.5*i for i in range(10)];
fig, ax = plt.subplots()
ax.scatter(df['x'],df['y'],s=20,c=df['z'], marker = 'o', cmap = cm.jet )
plt.show()
您可以将 df['x'] 替换为 xAlt 以查看所需的结果
谢谢
【问题讨论】:
标签: python date matplotlib scatter