当前位置:   article > 正文

python做可视化数据图表,python绘制可视化图表_python echart

python echart

这篇文章主要介绍了python可视化图做好了怎么弄下来,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

Source code download: 本文相关源码

pyecharts可视化

pyecharts是基于Echart图表的一个类库,而Echart是百度开源的一个可视化JavaScript库。

简介:
pyecharts主要基于web浏览器进行显示,绘制的图形比较多,包括折线图、柱状图、饼图、漏斗图、地图、极坐标图等,代码量很少,而且很灵活,绘制出来的图形很美观python用turtle画简单树形图

使用pyecharts时,需要安装相应的库,安装命令为:
pip install pyecharts

图形绘制过程,基本上所有的图表类型都是这样绘制的:

  1. chart_name = Type() #初始化具体类型图表
  2. chart_name .add() #添加数据及配置项
  3. chart_name .render()
  4. #生成本地文件(html/svg/jpeg/png/pdf/gif)
  5. chart_name .render_notebook #在jupyter notebook中显示
常用图表绘制
柱状图

利用Bar方法可以绘制柱状图在这里插入图片描述

  1. from pyecharts.charts import Bar
  2. from pyecharts import options as opts
  3. %matplotlib inline
  4. # V1 版本开始支持链式调用
  5. bar = ( Bar()
  6. .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
  7. .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
  8. .set_global_opts(title_opts = opts.TitleOpts(title = "某商场销售情况")) )
  9. bar.render_notebook()
  10. #bar.render() 生成html

在这里插入图片描述
V1版本开始支持链式调用,如果不习惯链式调用的开发者依旧可以单独调用方法,上面代码为:
使用多个add_yaxis可以绘制并列柱状图。

  1. bar = Bar()
  2. bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
  3. bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
  4. bar.set_global_opts(title_opts = opts.TitleOpts(title = "某商场销售情况"))
  5. bar.render_notebook()
  1. from pyecharts.charts import Bar
  2. from pyecharts import options as opts
  3. %matplotlib inline
  4. bar = Bar()
  5. bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
  6. bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
  7. bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
  8. bar.set_global_opts(title_opts = opts.TitleOpts(title = "货品销售情况",subtitle = "A和B公司"))
  9. bar.render_notebook()

在这里插入图片描述

饼图

饼图常用于表现不同类别的占比情况。利用Pie方法可以绘制饼图。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Page, Pie
  3. L1=['教授','副教授','讲师','助教','其他']
  4. num = [20,30,10,12,8]
  5. c = Pie()
  6. c.add("", [list(z) for z in zip(L1,num)])
  7. c.set_global_opts(title_opts=opts.TitleOpts(title="Pie-职称类别比例"))
  8. c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
  9. c.render_notebook()

在这里插入图片描述
通过参数圆形饼图radius可以绘制圆形饼图。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Page, Pie
  3. wd = ['教授','副教授','讲师','助教','其他']
  4. num = [20,30,10,12,8]
  5. c = Pie()
  6. c.add("",[list(z) for z in zip(wd, num)],radius = ["40%", "75%"])
  7. # 圆环的粗细和大小
  8. c.set_global_opts( title_opts=opts.TitleOpts(title="Pie-Radius"),legend_opts=opts.LegendOpts( orient="vertical", pos_top="5%", pos_left="2%" ))
  9. c .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
  10. c.render_notebook()

在这里插入图片描述
可以通过rich参数设置更多属性

  1. c = Pie()
  2. c.add("",[list(z) for z in zip(wd, num)],radius=["40%", "55%"],
  3. label_opts=opts.LabelOpts(position="outside",
  4. formatter="{a|{a}}{abg|}\n{hr|}\n{b|{b}:}{c} {per|{d}%} ",
  5. background_color="#eee",border_color="#aaa",
  6. border_width=1,border_radius=4,
  7. rich={"a": {"color": "#999", "lineHeight": 22, "align": "center"},"abg": {"backgroundColor": "#e3e3e3","width": "100%", "align": "right", "height": 22,"borderRadius": [4, 4, 0, 0],}, "hr": {"borderColor": "#aaa", "width": "100%","borderWidth": 0.5, "height": 0,}, "b": {"fontSize": 16, "lineHeight": 33},"per": {"color": "#eee","backgroundColor": "#334455", "padding": [2, 4],"borderRadius": 2,} } ))
  8. c.set_global_opts(title_opts=opts.TitleOpts(title="Pie-富文本示例"))
  9. c.render_notebook()

在这里插入图片描述

玫瑰图绘制

  1. from pyecharts.faker import Faker
  2. from pyecharts import options as opts
  3. from pyecharts.charts import Page, Pie
  4. data = [45,86,39,52,68]
  5. labels = ['电脑','手机','彩电','冰箱','洗衣机']
  6. c = Pie()
  7. c.add("",[list(z) for z in zip(wd, num)],radius=["40%", "55%"],center=[240,220],rosetype='radius')
  8. c.add("",[list(z) for z in zip(wd, num)],radius=["40%", "55%"],center=[620,220],rosetype='area')
  9. c.set_global_opts(title_opts=opts.TitleOpts(title="玫瑰图"))
  10. c.render_notebook()

在这里插入图片描述

漏斗图

pyecharts中通过Funnel绘制漏斗图。

  1. from pyecharts.charts import Funnel
  2. from pyecharts import options as opts
  3. %matplotlib inline
  4. data = [45,86,39,52,68]
  5. labels = ['电脑','手机','彩电','冰箱','洗衣机']
  6. wf = Funnel()
  7. wf.add('电器销量图',[list(z) for z in zip(labels, data)], is_selected= True)
  8. wf.render_notebook()

在这里插入图片描述

散点图

pyecharts利用Scatter绘制散点图。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Scatter
  3. week = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
  4. c = Scatter()
  5. c.add_xaxis(week)
  6. c.add_yaxis("商家A", [81,65,48,32,68,92,87])
  7. c.set_global_opts(title_opts=opts.TitleOpts(title="Scatter-一周的销售额(万元)"))
  8. c.render_notebook()

在这里插入图片描述

K线图

pyecharts利用Kline绘制K线图。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Kline
  3. data = [[2320.26, 2320.26, 2287.3, 2362.94],[2300, 2291.3, 2288.26, 2308.38],[2295.35, 2346.5, 2295.35, 2345.92]]
  4. c = Kline()
  5. c.add_xaxis(["2019/7/{}".format(i + 1) for i in range(31)])
  6. c.add_yaxis("2019年7月份K线图", data)
  7. c.set_global_opts(yaxis_opts=opts.AxisOpts(is_scale=True),
  8. xaxis_opts=opts.AxisOpts(is_scale=True),
  9. title_opts=opts.TitleOpts(title="Kline-基本示例"),)
  10. c.render_notebook()

在这里插入图片描述

仪表盘

pyecharts利用Gauge绘制仪表盘。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Gauge, Page
  3. c = Gauge()
  4. c.add("业务指标",[("完成率", 55.5)],axisline_opts=opts.AxisLineOpts(
  5. linestyle_opts=opts.LineStyleOpts(color=[(0.3, "#67e0e3"),
  6. (0.7, "#37a2da"), (1, "#fd666d")], width=30)))
  7. c.set_global_opts(title_opts=opts.TitleOpts(title="Gauge-不同颜色"),
  8. legend_opts=opts.LegendOpts(is_show=False))
  9. c.render_notebook()

在这里插入图片描述

词云

Pyecharts利用WordCloud绘制词云。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Page, WordCloud
  3. from pyecharts.globals import SymbolType
  4. words = [
  5. ("牛肉面", 7800),("黄河", 6181),
  6. ("《读者》杂志", 4386), ("甜胚子", 3055),
  7. ("五泉山", 2550)]
  8. c = WordCloud()
  9. c.add("", words, word_size_range=[20, 80])
  10. c.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-基本示例"))
  11. c.render_notebook()

在这里插入图片描述

地图

自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表(Geo、Map),可自行安装对应的地图文件包。

Windows下通过以下的pip命令进行安装:

  1. #安装全球国家地图,包括世界地图和 213 个国家
  2. pip install echarts-countries-pypkg
  3. #安装中国省级地图,包括23 个省,5 个自治区
  4. pip install echarts-china-provinces-pypkg
  5. #中国市级地图,包括370 个中国城市
  6. pip install echarts-china-cities-pypkg

在指定地图上的城市标示某天最高温度

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Map
  3. temperature=[30,31,27,29,18]
  4. loc = ['兰州市','天水市','白银市','武威市','甘南藏族自治州']
  5. c = Map()
  6. c.add("甘肃省", [list(z) for z in zip(loc, temperature)], "甘肃",is_roam=True)
  7. # is_roam是否开启鼠标缩放和平移漫游
  8. c .set_global_opts(title_opts=opts.TitleOpts(title="甘肃省部分城市最高气温"))
  9. c.render_notebook()

在这里插入图片描述

组合图表

在这里插入图片描述

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览436786 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/898135
推荐阅读
相关标签
  

闽ICP备14008679号