Python 我如何使用;“绘图累计百分比”;nltk.probability对象中的功能?

Python 我如何使用;“绘图累计百分比”;nltk.probability对象中的功能?,python,nlp,nltk,Python,Nlp,Nltk,这个问题涉及到。这是一个与之相关的讨论 在为文本语料库中的某组单词绘制条件频率分布时,y轴显示为计数,而不是百分比 我遵循Steven Bird、Ewan Klein和Edward Loper在《Python自然语言处理》中概述的代码,在Jupyter笔记本中显示UDHR不同语言的单词频率分布 从nltk.corpus导入udhr 语言=['Chickasaw','English','German_Deutsch','Greenlandic_Inuktikut','Hungarian_Magya

这个问题涉及到。这是一个与之相关的讨论

在为文本语料库中的某组单词绘制条件频率分布时,y轴显示为计数,而不是百分比

我遵循Steven Bird、Ewan Klein和Edward Loper在《Python自然语言处理》中概述的代码,在Jupyter笔记本中显示UDHR不同语言的单词频率分布

从nltk.corpus导入udhr
语言=['Chickasaw','English','German_Deutsch','Greenlandic_Inuktikut','Hungarian_Magyar','Ibio_Efik']
cfd=nltk.ConditionalFreqDist((lang,len(word))表示语言中的lang\
对于udhr.WORs中的单词(lang+“-Latin1”)
cfd.图(累积=真)
我希望y轴显示累计百分比(如书中所示),但y轴显示的是累计计数。请告知如何将y轴转换为累积百分比

这个问题的另一个解决方案是使用外部库。但是,我想知道如何仅使用
cfd.plot
方法将其绘制成图形。在浏览时,我注意到有一个选项包含一个
百分比
布尔参数,并且有一个代码在这个条件语句中创建了累积百分比频率:

如果是累积的:
#freqs应该是一个列表列表,其中每个子列表都是一个条件的频率
频率附加(列表(自身[条件]。\u累计\u频率(样本)))
ylabel=“累计计数”
图例位置='右下'
如果百分比:
频率[-1]=[f/freqs[len(freqs)-1]*100表示频率中的f]
ylabel=“累计百分比”
其他:
频率附加([样本中样本的自我[条件][样本])
ylabel=“计数”
图例位置='右上角'
但是,如果我尝试使用
cfd.plot(cumulative=True,percents=True)
运行示例代码,我会得到以下类型的错误:

-> 1935                         freqs[-1] = [f / freqs[len(freqs) - 1] * 100 for f in freqs]

TypeError: unsupported operand type(s) for /: 'list' and 'list'
编辑:

当我在源代码中搜索
plot(
方法)时,我注意到有两个
plot(
方法已定义。可能
cfd.plot(cumulative=True,percents=True)
调用了错误的plot方法?我对此有点困惑