词云图
- 对文件word.txt里的各词语绘制各个单词的词云图
txt文件中部分单词后面有逗号,需要去除。另外对各词词频进行统计的时候忽略词的大小写
from pyecharts import WordCloud
#删除逗号
with open('./data/word.txt') as f:
w = f.read()
#print(s)
w1 = w.lower().replace(",","").split()
#转小写.替换逗号.把字符串转成字符串组
#print(w1)
#词频统计
words = {} #建立字典
for word in w1:
if word not in words:
words[word] = 1
else:
words[word] = words[word] + 1
print(words)
wc = WordCloud()
wc.add("",words.keys(),words.values(), #字典d = {key1 : value1, key2 : value2 }
word_size_range=[20, 100], #单词字体大小
)
wc.render("wc.html")
生成如图所示,成品链接
主题河流图
- 对文件sale_amount.csv中的数据绘制主题河流图
from pyecharts import ThemeRiver
import pandas as pd
data = pd.read_csv("./data/sale_amount.csv",encoding="gbk")
#print(data.head(5))
data["date"] = pd.to_datetime(data["date"],format='%Y-%m-%d') #转换时间类型并变为%Y-%m-%d
#print(data.head(5))
data.set_index('date',inplace=True)
#set_index设置索引(替换,真实覆盖)
#print(data)
ls=data.columns #读取列表列头部
#print(data.columns)
dataone=[]
for d in range(data.shape[0]):
for i in range(data.shape[1]):
dataone.append([str(data.index[d]),data.iloc[d,i],data.columns[i]])
#append结尾加[]内数据,间隔 #d行 #d行i列 #i列
print(dataone)
tr = ThemeRiver("主题河流图示意图")
tr.add(ls,dataone,
is_label_show=True
)
tr.render("tr.html")
- 生成如图所示,成品链接
关系图
- 给定文件relation.json,获取出文件内容为一个列表,其中:
根据json文件配置的结点信息绘制出对应的关系图,要求关系图中连接线为曲线(设置line_curve为0.2)。 - (注意:查看文件结点信息,其中部分结点配置了结点类目(category)!!)
import json
from pyecharts import Graph
#读取json文件
with open("./data/relation.json",encoding="utf-8") as f:
node = json.load(f)
#print(node)
#处理json文件
data = node[0] #选择第一层[]内内容
link = node[1] #第二[]内容
#print(link)
name = []
for j in data:
name.append({"name": j.get('category')}) #把有连接的节点写成name放到图例上
print(name)
#print(name)
graph = Graph("",width=1200,height=800)
graph.add("",data,link,
name,
graph_repulsion=50, #节点之间的斥力因子,就当是图的大小吧,这个设置8000你看区别就懂了
line_curve=0.2, #线弯曲程度
# graph_edge_length=10, 设置节点距离一般没啥用
is_label_show=True,
)
graph.render("graph.html")
- 生成如图所示,成品链接
Comments | NOTHING