pyecharts實現詞雲圖html和png


目標是使用python程序讀取詞、詞頻生成一個詞雲圖,結果輸出可以選擇html格式,也可以選擇png

pyecharts簡介

官方的介紹也很簡單,簡單來說就是說是應大數據而生的可視化庫

官方地址

使用

使用上可以先下載示例代碼,看上去多其實每個目錄都是一個圖形,使用上感覺和JS插件也差不多,挺簡單的。

要從這么多圖形里找到自己需要的示例也是要花點功夫的,^^

完整代碼

詞雲示例

數據格式:
pyecharts需要的數據格式為二維數組:
[['的' '232'],['情感' '119'],['和' '42']]

    def create_wcloud(self):
        (
            WordCloud()
                .add(series_name="熱詞雲圖",
                     # 添加數據
                     data_pair=self.data,
                     # 字間隙
                     word_gap=5,
                     # 調整字大小范圍
                     word_size_range=[15, 80],
                     shape="cursive"
                     # 選擇背景圖,也可以不加該參數,使用默認背景
                     # mask_image='timg.jpg'
                )
                .set_global_opts(
                title_opts=opts.TitleOpts(
                    title="熱詞雲圖", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
                ),
                tooltip_opts=opts.TooltipOpts(is_show=True),
            )
                # 輸出為html格式
                .render("testbasic.html")
        )

生成圖片

pyecharts生成圖片需要安裝 snapshot-selenium 或者 snapshot-phantomjs。而使用snapshot-selenium需要安裝瀏覽器的插件,否則會報錯。
所以生成圖片的方案我們使用wordcloud。效果也不錯

數據格式
wordcloud需要的詞頻數據格式是字典,如下:
mydata {'的': 232, '情感': 119, '和': 42, '分析': 41, '方法': 36}

wc = WordCloud(font_path='C:\\windows\\Fonts\\simhei.ttf', background_color='White', max_words=50)
wc.generate_from_frequencies(self.data)
plt.imshow(wc)
plt.axis("off")  # 不顯示坐標軸
plt.show()
wc.to_file('Wordcloud.png')  # 保存的圖片命名為Wordcloud.pn


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM