我在mysql里有个数据库job,其中有一张表名为bigdata,我想要根据这张表的列名“所需技能”创建一个词云图,如果要用pyecharts库,需要怎么编程实现?
时间: 2023-05-21 18:06:52 浏览: 64
MySQL使用的测试样例数据库,Employees Sample Database,datacharmer/test-db
你可以使用如下代码来利用Pyecharts创建一个词云图:
# 导入需要的包
from pyecharts.charts import WordCloud
from pyecharts import options as opts
import pymysql
# 连接数据库,获取数据
db = pymysql.connect(host="localhost", user="root", password="password", database="job")
cursor = db.cursor()
sql = "SELECT 所需技能 FROM bigdata"
cursor.execute(sql)
results = cursor.fetchall()
# 将数据存入列表
skills = []
for row in results:
skills.append(row[0])
# 计算每个关键词出现的次数
counts = {}
for s in skills:
if s in counts:
counts[s] += 1
else:
counts[s] = 1
# 将数据转化成列表格式
word_list = []
for k,v in counts.items():
word_list.append((k,v))
# 绘制词云图
wordcloud = (
WordCloud()
.add("", word_list, word_size_range=[20,100], shape='circle')
.set_global_opts(title_opts=opts.TitleOpts(title="所需技能词云图"))
)
# 渲染并保存词云图
wordcloud.render("skill_cloud.html")
阅读全文