我无法显示ggplot
的情节。我尝试过像
import pandas as pd
import pylab as plt
import statsmodels.api as sm
from ggplot import *
df = pd.DataFrame.from_csv('file.csv', index_col=None)
x=df['X']
y=df['Y']
plt=ggplot(data=df,aes(x=x, y=y)) +\
geom_line() +\
stat_smooth(colour='blue', span=0.2)
plt.show()
为什么不出现?
答案 0 :(得分:10)
plt = ggplot(....
行不正确,原因有几个。
plt
是您为pylab
模块提供的名称。 plt =
会将其删除!data=df
是关键字参数(因为data=
部分)。他们必须在位置参数之后。有关详细信息,请参阅the keyword
entry of the Python glossary。您需要通过取出data=
使第一个参数成立,或者将其放在位置参数aes(x=x, y=y)
之后。ggplot
调用返回ggplot
个对象,而不是pyplot
相关的对象。 ggplot
个对象的draw()
不是show()
。开发者自己显示here它是如何完成的:
g = ggplot(df, aes(x=x, y=y)) +\
geom_line() +\
stat_smooth(colour='blue', span=0.2)
print(g)
# OR
g.draw()
最后一行g.draw()
会返回一个matplotlib
数字对象,您也可以这样做:
fig = g.draw()
这将使您可以访问matplotlib
数字,如果这是您想要做的事情。