Python初学者/第一张海报。
我在添加彩条以散点图时遇到了麻烦。我有两种类型的绘图:一种显示按日期颜色编码的所有数据,另一种显示按日期颜色编码的数据的最大值。在第一种情况下,我可以使用df.index(这是datetime)来制作我的颜色条,但在第二种情况下,我使用df2 ['col']。idxmax来生成颜色,因为我的df2是一个df .groupby对象,我用它来生成我的数据中的每日最大值,并且它没有可访问的索引。
对于第一种类型的绘图,我已成功生成带有以下代码的基于日期的颜色条,从在线示例拼凑而成:
fig, ax = plt.subplots(1,1, figsize=(20,20))
smap=plt.scatter(df.col1, df.col2, s=140,
c=[date2num(i.date()) for i in df.index],
marker='.')
cb = fig.colorbar(smap, orientation='vertical',
format=DateFormatter('%d %b %y'))
但是对于第二种类型的情节,我试图使用df2 ['col']。idxmax创建日期系列而不是df.index,以下不起作用:
for n in cols1:
for m in cols2:
fig, ax = plt.subplots(1,1, figsize=(15,15))
maxTimes=df2[n].idxmax()
PlottableTimes=maxTimes.dropna() #some NaNs in the
#.idxmax series were giving date2num trouble
smap2=plt.scatter(df2[n].max(), df2[m].max(),
s=160, c=[date2num(i.date()) for i in PlottableTimes],
marker='.')
cb2 = fig.colorbar(smap2, orientation='vertical',
format=DateFormatter('%d %b %y'))
plt.show()
错误是:'rgba序列的长度应为3或4'
因为错误是抱怨颜色参数,我在相应的绘图命令中分别检查颜色(即c =)参数的输出,并且两者看起来都类似于我,所以我无法弄清楚为什么一个颜色参数工作,而另一个没有:
一个有效的: