我们通过数据操作获得了最热的50本书以及他们的粉丝数(想读这本书的人数),为了可视化地表示这50本书以及他们想读的人数,我们可以采用词云图的方法来展示。步骤如下。
一、导入需要的包体。
二、通过读取.csv文件,将50本书的名字和他们的想读人数生成一个元组数组。
三、通过词云WordCloud函数来生成词云。
四、使用render方法来渲染生成html文件。
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
hottest_50_books_pd = pd.read_csv("hottest_50_books.csv")
titles = hottest_50_books_pd['title']
counts = hottest_50_books_pd['counts']
book_names = []
book_counts= []
for title in titles:
title = title.encode("raw_unicode_escape")
book_names.append(title.decode())
for count in counts:
book_counts.append(int(count))
words = []
for i in range(len(book_counts)):
temp_tuple = (book_names[i],book_counts[i])
words.append(temp_tuple)
def wordcloud_base() -> WordCloud:
c = (
WordCloud()
.add("",words, word_size_range=[20, 100])
.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-基本示例"))
)
return c
wd = wordcloud_base()
wd.render()
我们打开生成的render.html文件,就可以得到以下词云: