为什么ggplot生成的图不显示?

时间:2015-03-29 19:55:36

标签: python python-3.x ggplot2 python-ggplot

我无法显示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()

为什么不出现?

1 个答案:

答案 0 :(得分:10)

plt = ggplot(....行不正确,原因有几个。

  1. plt是您为pylab模块提供的名称。 plt =会将其删除!
  2. data=df是关键字参数(因为data=部分)。他们必须在位置参数之后。有关详细信息,请参阅the keyword entry of the Python glossary。您需要通过取出data=使第一个参数成立,或者将其放在位置参数aes(x=x, y=y)之后。
  3. ggplot调用返回ggplot个对象,而不是pyplot相关的对象。 ggplot个对象的draw()不是show()
  4. 开发者自己显示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数字,如果这是您想要做的事情。