ggplot 0.5中的UnboundLocalError

时间:2014-06-19 11:05:17

标签: python pandas python-ggplot

我有以下代码

p = ggplot(aes(x='DHT temp',y='temp3'), data=data)
p + geom_point(alpha=0.1, size=10) + scale_x_continuous(limits=(20,30)) + 
scale_y_continuous(limits=(0,170)) + theme_bw()\
+ geom_abline(intercept=20)

我收到以下错误:

<repr(<ggplot.ggplot.ggplot at 0x607a3d0>) 
failed: UnboundLocalError: local variable 'x' referenced before assignment>

一些示例数据

     HIH     DHThum  DHTtemp temp1   temp3
0    350     67.7    22.7    328     148
1    356     67.9    22.7    328     149
2    365     67.8    22.7    328     148
3    349     67.9    22.6    327     148
4    348     68.0    22.6    328     149

2 个答案:

答案 0 :(得分:3)

这是bug in ggplot,已在0.5.8版本中修复。

答案 1 :(得分:1)

大。 Thx用于发布一些数据。不幸的是,我无法在我的最终重现这个问题。

from ggplot import *
import pandas as pd
import re

data = """
     HIH     DHThum  DHTtemp temp1   temp3
0    350     67.7    22.7    328     148
1    356     67.9    22.7    328     149
2    365     67.8    22.7    328     148
3    349     67.9    22.6    327     148
4    348     68.0    22.6    328     149
"""

data = [re.split('\s+', line) for line in data.split('\n') if line]

headers, data = data[0], data[1:]
headers[0] = 'index_col'

df = pd.DataFrame(data, columns=headers)
df = df.astype(float)

p = ggplot(aes('DHTtemp', 'temp3'), data=df)

p = p + geom_point(alpha=0.1, size=10) + \
    scale_x_continuous(limits=(20,30)) + \
    scale_y_continuous(limits=(0,170)) + theme_bw() + \
    geom_abline(intercept=20)

ggsave('plot.png', p)

情节为我呈现,没有你看到的例外。当然,因为这只是前5行,所以情节并没有真正描述任何有趣的东西。

enter image description here

如果他们知道发生了什么事,我会继续挖掘并询问我的团队中的一些人。