在使用包含时间序列的Pandas DataFrame时,我正在努力弄清楚如何使用Matplotlib制作散点图。我希望在x轴上使用日期/时间,并在y轴上绘制另一列的相应值。我可以让它工作,但我也想根据第三列的值为数据点着色。我在网上发现的所有例子似乎都出现了一种错误或其他错误。
可重复的例子如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
mydatetimes=pd.to_datetime(['2015-05-01 18:00:12', '2015-05-01 18:01:12',
'2015-05-01 18:02:12', '2015-05-01 18:03:12',
'2015-05-01 18:04:12', '2015-05-01 18:05:11',
'2015-05-01 18:06:11', '2015-05-01 18:07:11',
'2015-05-01 18:08:12', '2015-05-01 18:09:12',
'2015-05-01 18:10:12', '2015-05-01 18:11:12'])
myvalues = np.array([45.0, 34.0, 35.0, 45.0, 23.0, 67.0,
78.0, 23.0, 87.0, 32.0, 58.0, 71.0])
myothervalues = np.array([803, 743, 682, 622, 562, 502,
383, 323, 263, 202, 142, 82])
mydatadf = pd.DataFrame({'mydates': mydatetimes, 'data1': myvalues, 'data2': myothervalues})
plt.plot(mydatadf.mydates, mydatadf.data1, '.', c=cm.viridis(mydatadf.data2))
plt.show()
有没有人知道这样做的简单方法?
答案 0 :(得分:1)