2017-09-05 175 views
0

我试图生成绘制的频率工作日和小时泡情节平日/小时,正是这样的情节: https://i.stack.imgur.com/TP4ZF.jpg 的数据是在大熊猫以下格式的数据帧:气泡图熊猫(或Python)

weekday hour freq 
    0 0 22710 
    0 1 22685 
    0 2 21673 
    0 3 22276 
    0 4 21531 
    0 ... ... 
    0 23 12343 
    ... ... ... 
    6 23 34231 

我尝试以下,但它并没有在所有的工作:

df.plot.scatter(x='hour', y='weekday', s=df['freq']); 

生成的图形似乎有正确的坐标轴,但覆盖在一个大的蓝色矩形(见https://i.stack.imgur.com/2BLzR.png)。 忽略大小参数也不起作用(显示均匀填充的散点图/点图)。

回答

1

你的尺寸参数是太方便了。比例尺,也许类似于

norm = max(df['freq']) 
df.plot.scatter(x='hour', y='weekday', s=df['freq']/norm); 
+0

干杯!只是想通了。预计matplotlib将其缩放;) – b0nzo

0

而刚发布这个问题(和几小时的研究,造成相当头痛)后,我找到了答案。 Matplotlibs散点图大小参数不适用于较大的绝对值,也不会缩放或取相对值,因此“蓝色块”区域覆盖整个图表。通过改变代码(添加缩放因子)一个很好的图表生成:

df.plot.scatter(x='hour', y='weekday', s=df['freq']*0.001);