前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pyechart入门

Pyechart入门

作者头像
潇洒坤
发布2018-09-10 09:55:09
2.5K0
发布2018-09-10 09:55:09
举报
文章被收录于专栏:简书专栏

标题中的英文首字母大写比较规范,但在python实际使用中均为小写。

2018年8月1日笔记

0.简介

pyecharts是一个用于生成echarts图表的类库。echarts是百度开源的一个数据可视化库,用echarts生成的图可视化效果非常棒。使用pyechart库可以在python中生成echarts数据图。 官网:http://pyecharts.org Github:https://github.com/pyecharts/pyecharts/ 在官网中可以获得比本文更详细的pyecharts库的使用方法。 下面代码的开发环境为jupyter notebook,使用在jupyter notebook中的截图表示运行结果。

1.安装库

打开cmd,在cmd中使用pip命令安装pyecharts库,如下所示:

代码语言:javascript
复制
pip install pyecharts -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

其中-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com是使用阿里云作为下载源,可以极大加快下载速度。 如果安装失败,请在cmd中运行命令:pip install pytest-runner 。然后再次使用pip安装pyecharts库。

2.柱形图

第1行代码引入库,第2行代码初始化1个Bar对象赋值给bar变量。 第3-7行代码准备Bar对象的add方法的3个关键字参数,第1个关键字参数name是图例的名称,第2个关键字参数x_axis是x轴的标记,第3个关键字参数y_axis是每个柱形的高度。 将3个关键字参数打包成1个数据类型为字典的变量kwargs。 kwargs作为参数传入Bar对象的add方法中时,需要使用**kwargs,这样可以使其自动解包,字典中的键值对会对应函数需要的参数。 最后1行,Bar对象的render方法会产生一个html文件,可以用浏览器打开该文件进行查看。

代码语言:javascript
复制
from pyecharts import Bar 
bar = Bar('我的第一个图表','这里是副标题')
kwargs = dict(
    name = '柱形图',
    x_axis = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'],
    y_axis = [5,20,36,10,75,90]
)
bar.add(**kwargs)
bar.render('bar01.html')

文件夹中生成的bar01.html文件如下图所示:

image.png

在浏览器中查看bar01.html文件如下图所示:

image.png

3.直方图

在pyecharts中,直方图也是使用Bar对象画出。 与柱形图的不同之处是实例化Bar对象时多了1个参数bar_category_gap,含义是每个柱子之间的间隔,如果设置为0,则画直方图。

代码语言:javascript
复制
bar = Bar('我的第一个图表','这里是副标题')
kwargs = dict(
    name = '柱形图',
    x_axis = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'],
    y_axis = [5,20,36,10,75,90],
    bar_category_gap = 0
)
bar.add(**kwargs)
bar

直方图.png

4.堆叠柱状图

代码语言:javascript
复制
import pyecharts as pye 
x = ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("柱状图数据堆叠示例")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1,is_stack=True)
bar.add(title2,x,y2,is_stack=True)
bar.render('bar02.html')

上面一段代码的运行结果如下图所示:

image.png

5.标记线和标记点示例

代码语言:javascript
复制
import pyecharts as pye 
x = ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("标记线和标记点示例")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1,mark_point=['average'])
bar.add(title2,x,y2,mark_line=['min','max'])
bar.render('bar04.html')
bar

上面一段代码的运行结果如下图所示:

image.png

6.条形图

代码语言:javascript
复制
import pyecharts as pye 
x = ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("x轴与y轴交换")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1)
bar.add(title2,x,y2,is_convert=True)
bar.render('bar03.html')
bar

上面一段代码的运行结果如下图所示:

image.png

7. 折线图

代码语言:javascript
复制
from pyecharts import Line
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True,
mark_line=["max", "average"])
line.render('line01.html')
line

上面一段代码的运行结果如下图所示:

image.png

8.折线图2

代码语言:javascript
复制
import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y1 = [5, 20, 36, 10, 10, 100]
y2 = [55, 60, 16, 20, 15, 80]
line = pye.Line("折线图示例")
label1 = '商家A'
label2 = '商家B'
kwargs = dict(
    mark_point=['average','max','min'],
    mark_point_symbol = 'diamond',
    mark_point_textcolor = '#40ff27'
)
line.add(label1,x,y1,**kwargs)
kwargs2 = dict(
    mark_point=['average','max','min'],
    mark_point_symbol = 'arrow',
    mark_point_symbolsize = 40
)
line.add(label2,x,y2,**kwargs2)
line

上面一段代码的运行结果如下图所示:

image.png

9.面积图

代码语言:javascript
复制
import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y1 = [5, 20, 36, 10, 10, 100]
y2 = [55, 60, 16, 20, 15, 80]
line = pye.Line("面积图示例")
label1 = '商家A'
label2 = '商家B'
kwargs = dict(
    if_fill = True,
    line_opacity = 0.2,
    area_opacity = 0.4,
    symbol = None
)
line.add(label1,x,y1,**kwargs)
kwargs2 = dict(
    s_fill= True,
    area_color= '#000',
    area_opacity= 0.3, 
    is_smooth= True
)
line.add(label2,x,y2,**kwargs2)
line

上面一段代码的运行结果如下图所示:

image.png

10.饼图

代码语言:javascript
复制
import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y =  [11, 12, 13, 10, 10, 10]
pie = pye.Pie("饼图示例")
pie.add("",x,y,is_label_show=True)
pie

上面一段代码的运行结果如下图所示:

image.png

11.饼图2

代码语言:javascript
复制
import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y =  [11, 12, 13, 10, 10, 10]
pie = pye.Pie("饼图-圆环图示例",title_pos='center')
kwargs = dict(
    radius = (40,75),
    label_text_color = None,
    is_label_show = True,
    legend_orient = 'vertical',
    legend_pos = 'left'
)
pie.add("",x,y,**kwargs)
pie

上面一段代码的运行结果如下图所示:

image.png

12.散点图

代码语言:javascript
复制
from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散点图示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2)
scatter

上面一段代码的运行结果如下图所示:

image.png

13.散点图2

代码语言:javascript
复制
from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散点图示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2, is_visualmap=True,
visual_type='size', visual_range_size=[20,
80])
scatter

上面一段代码的运行结果如下图所示:

image.png

14.地图1

代码语言:javascript
复制
from pyecharts import Map
value = [155, 10, 66, 78]
attr = ["福建", "山东", "北京", "上海"]
map = Map("全国地图示例")
map.add("", attr, value, maptype='china')
map

上面一段代码的运行结果如下图所示:

image.png

15.地图2

代码语言:javascript
复制
from pyecharts import Map
value = [20, 190, 253, 77, 65]
attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市']
map = Map("广东地图示例", width=1200,
height=600)
map.add("", attr, value, maptype='广东',
is_visualmap=True,
visual_text_color='#000',is_label_show=True)
map

上面一段代码的运行结果如下图所示:

image.png

16.词云

代码语言:javascript
复制
from pyecharts import WordCloud
name_list = ['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 EllenMark',
            'Farrah Abraham','Rita Ora', 'Serena Williams',
            'NCAA baseball tournament','Point Break']
value_list = [10000, 6181, 4386, 4055, 2467, 2244,
            1898, 1484, 1112,965, 847, 582, 555,
            550, 462, 366, 360, 282, 273, 265]
wordcloud = WordCloud(width=800, height=500)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud

上面一段代码的运行结果如下图所示:

image.png

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.08.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.简介
  • 1.安装库
  • 2.柱形图
  • 3.直方图
  • 4.堆叠柱状图
  • 5.标记线和标记点示例
  • 6.条形图
  • 7. 折线图
  • 8.折线图2
  • 9.面积图
    • 10.饼图
      • 11.饼图2
        • 12.散点图
          • 13.散点图2
          • 14.地图1
            • 15.地图2
              • 16.词云
              相关产品与服务
              图数据库 KonisGraph
              图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档