pyecharts数据可视化

本文介绍了如何利用pyecharts进行数据可视化,包括词云图、柱形图、折线图、饼图、散点图、仪表盘、漏斗图、水球图等多种图表的绘制,展示了动态和静态效果,以及地图的展示方式,如世界地图、中国地图等。
摘要由CSDN通过智能技术生成

Echarts是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts诞生啦。

尽管python有自带的matplotlib、seaborn等画图模块,但其绘制出来的是静态图,而pyecharts可以绘制出非常棒的动态效果图,果断入坑!

#关于一些函数的说明
- add() 用于添加图表的数据和设置各种配置项
- show_config() 打印输出图表的所有配置项
- render() 生成 .html 文件
- 支持保存做种格式
   - 对象.render(path='snapshot.html')
   - 对象.render(path='snapshot.png')
   - 对象.render(path='snapshot.pdf')

1、词云图

1.1 英文词云

from pyecharts import WordCloud
name =['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']
value =[10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]
wordcloud =WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100])
#wordcloud.show_config()
wordcloud.render(path='./picture/01-词云1-权重词云.html')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n2ZG1Njn-1580301473685)(https://upload-images.jianshu.io/upload_images/1851636-ce22b259e151b76b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

from pyecharts import WordCloud
wordcloud2 =WordCloud(width=1300, height=620)
wordcloud2.add("", name, value, word_size_range=[30, 100], shape='diamond')
wordcloud2.render(path='./picture/01-词云2-变形词云.html')

2.png

1.2 中文词云

from wordcloud import WordCloud, ImageColorGenerator
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
words = ['好看', '不错', '人性', '可以', '值得', '真的', '一部', '感觉', '喜欢', '一般', '演技', '还是',
   '剧情', '一出', '有点', '出好', '好戏', '不是', '没有', '非常', '哈哈', '喜剧', '就是', '一个',
   '现实', '什么', '支持', '还行', '但是', '很多', '觉得', '搞笑', '值得一看', '故事', '看好',
   '这部', '哈哈哈', '失望', '最后', '导演', '自己', '演员', '看完', '社会', '特别', '看到', '不好',
   '比较', '表达', '那么', '作品', '个人', '东西', '思考', '这个', '第一', '不过', '情节',
   '哈哈哈哈', '意思', '一直', '推荐', '一般般', '时候', '开始', '般般', '片子', '知道', '处女',
   '期待', '很棒', '影院', '深度', '反应', '无聊', '可能', '一些', '精彩', '爱情', '这么', '希望',
   '一点', '不知', '有些', '还好', '恐怖', '看着', '没看', '还有', '观看', '后面', '真实', '因为',
   '如果', '出来', '部分', '确实', '我们', '意义', '深刻']

new_worlds = " ".join(words)
# 参照图片
coloring = np.array(Image.open("./temp6.png"))
# simkai.ttf 必填项 识别中文的字体,例:simkai.ttf,
my_wordcloud = WordCloud(background_color="white", max_words=800,
                     mask=coloring, max_font_size=120, random_state=30, scale=2,font_path="./simhei.ttf").generate(new_worlds)

image_colors = ImageColorGenerator(coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
# 保存图片
my_wordcloud.to_file('./picture/01-词云3-中文词云.png')

01-词云3-中文词云.png

2、常用统计图

from pyecharts import Line, Bar, Pie, EffectScatter
# 数据
attr =["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 =[5, 20, 36, 10, 10, 100]
v2 =[55, 60, 16, 20, 15, 80]

2.1 柱形图

bar = Bar('柱形图', '库存量')
bar.add('服装', attr, v1,  is_label_show=True)
bar.render(path='./picture/02-01柱形图-01柱形图.html')

柱形图.png

bar2 = Bar("显示标记线和标记点")
bar2.add('商家A', attr, v1, mark_point=['avgrage'])
bar2.add('商家B', attr, v2, mark_point=['min', 'max'])
bar2.render(path='./picture/02-01柱形图-02标记点柱形图.html')

显示标记线和标记点.png

bar3 = Bar("水平显示")
bar3.add('商家A', attr, v1)
bar3.add('商家B', attr, v2, is_convert=True)
bar3.render(path='./picture/02-01柱形图3-03水平柱形图.html')

水平显示.png

2.2 折线图

# 普通折线图
line = Line('折线图')
line.add('商家A', attr, v1, mark_point=['max'])
line.add('商家B', attr, v2, mark_point=['min'], is_smooth=True)
line.render(path='./picture/02-02折线图-01折线图.html')

折线图.png

# 阶梯折线图
line2 = Line('阶梯折线图')
line2.add('商家A', attr, v1,  is_step=True, is_label_show=True)
line2.render(path='./picture/02-02折线图-02阶梯折线图.html')

阶梯折线图.png

# 面积折线图
line3 =Line("面积折线图")
line3.add("商家A", attr, v1, is_fill=True, line_opacity=0.2,   area_opacity=0.4, symbol=None, mark_point=['max'])
line3.add("商家B", attr, v2, is_fill=True, area_color='#a3aed5', area_opacity=0.3, is_smooth=True)
line3.render(path='./picture/02-02折线图-03面积折线图.html')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OHvtoEAu-1580301473698)(https://upload-images.jianshu.io/upload_images/1851636-88814c9d6207277f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

2.3 柱形图-折线图

from pyecharts import Bar, Line, Overlap

att = ['A', 'B', 'C'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值