我正在尝试使用plotnine创建一个带有标签的条形图。根据文档,您可以在美学中使用 label="stat(count)" 为geom_text打印每个柱线的位置计数。这相当于使用 ..计数。。关键字在 R 中的 ggplot2 中。
Python 版本是 3.6.7剧情九版本是0.5.1
根据文档,此代码应该可以工作:
import numpy as np
import pandas as pd
from plotnine import *
from plotnine.stats import *
from plotnine.data import mtcars
(ggplot(mtcars, aes('factor(cyl)', fill='factor(am)'))
+ geom_bar( position='fill')
+ geom_text(aes(label='stat(count)'), stat='count', position='fill')
)
当我尝试此操作时,我收到以下消息: PlotnineError: "Could not evaluate the 'label' mapping: 'stat(count)' (original error: name 'stat' is not defined)
如果我将表达式label='stat(count)'
替换为label='99'
代码将运行并显示正确的绘图,当然所有标签都是常量值 99 而不是实际计数。
我刷新了所有库并重新启动了笔记本服务器,现在它可以工作了。 我一定在某处安装了不好的。