绘制频率为1000项的空间问题

时间:2015-08-04 15:04:39

标签: python-3.x graph plot nlp nltk

enter image description here

我正在尝试使用nltk的FreqDist图绘制1000个单词的频率,并且所有单词在所示的图中被粉碎在一起。有没有办法在Y轴上绘制字样并且有滚动图像?我也使用Python 3。

1 个答案:

答案 0 :(得分:1)

尝试plot.ly

首先在https://plot.ly

上创建一个帐户

然后,请参阅https://plot.ly/python/getting-started/

$ pip install plotly
$ python -c "import plotly; plotly.tools.set_credentials_file(username='DemoAccount', api_key='lr1c37zw81')"

安装并初始化API之后。看一下参考文献:https://plot.ly/python/reference/

要绘制字频图,请参阅https://plot.ly/python/time-series/

使用以下代码:

>>> import plotly.plotly as py
>>> from plotly.graph_objs import *
>>> from nltk.corpus import brown
>>> from collections import Counter
>>> word_freq = Counter(brown.words())
>>> words, freqs = zip(*word_freq.most_common()[:1000])
>>> data = Data([ Scatter(x=words, y=freqs)])
>>> plot_url = py.plot(data, filename='brown_freqs'

它会产生https://plot.ly/~alvations/102

enter image description here

请注意,最多没有。您可以挤入的数据点,您可能会看到此警告/错误消息:

  哇哦!看看所有这些点!由于浏览器的限制,   Plotly很难为线路绘制超过500k的数据点   图表,或其他类型图表的40k点。这里有一些   建议:(1)尝试使用图像API来返回图像   图表URL(2)使用matplotlib(3)看看你是否可以创建你的   数据点较少的可视化

     

如果您正在使用的可视化聚合点(例如,框图,   直方图等)你可以忽略这个警告。