【问题标题】:PyCharm not plotting graphs?PyCharm 不绘制图表?
【发布时间】:2023-03-13 05:11:01
【问题描述】:

我一直在尝试使用 plotnine 进行绘图,据我所知,它是 Python 中最具 ggplot2 风格的库,但我很难在 Python 脚本中的 PyCharm 中完成它。这似乎是一个问题,对于 matplotlib 和其他也遇到此错误的绘图库有许多解决方案,但是使用他们的答案(将 DISPLAY=True 添加到环境变量,在绘图末尾添加 show() 等)不起作用为情节九。

我正在尝试绘制以下内容,它适用于常规 ipython 窗口(我通过终端访问):

from plotnine import *
from plotnine.data import *

(ggplot(diamonds)
 + stat_summary(aes('clarity', 'price', fill='cut'), geom='col', position='dodge')
 + stat_summary(aes('clarity', 'price', color='cut'), geom='linerange', size=1, position=position_dodge(width=0.9))
 + scale_color_hue(l=.3)
 + theme(figure_size=(11, 8))
)

我在这里遗漏了什么,或者我不应该尝试从脚本中进行绘图,这通常对其他一切都很方便?

附:解决方案:这似乎是 PyCharm 中的一个错误,社区可能还没有注意到,但这有点公平,因为 plotnine 库也有点新。我的解决方案是避免尝试在脚本中执行此操作,而是从 PyCharm 中的 ipython 控制台中进行绘图,这很有效。

【问题讨论】:

    标签: python plot pycharm plotnine


    【解决方案1】:

    您必须打印 ggplot 对象。

    p = (ggplot(diamonds)
         + stat_summary(aes('clarity', 'price', fill='cut'), geom='col', position='dodge')
         + stat_summary(aes('clarity', 'price', color='cut'), geom='linerange', size=1, position=position_dodge(width=0.9))
         + scale_color_hue(l=.3)
         + theme(figure_size=(11, 8))
    )
    
    print(p)
    

    IPython 自动为您打印单元格中的最后一个结果。对于其他环境,您必须明确地这样做

    【讨论】:

      猜你喜欢
      • 2020-01-02
      • 1970-01-01
      • 2015-08-29
      • 2017-09-27
      • 2018-10-23
      • 1970-01-01
      • 2023-02-19
      • 1970-01-01
      相关资源
      最近更新 更多