python数据可视化之pyecharts

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "last"
  • pyecharts 库的基本使用用法

  • ECharts是由百度团队开发的,可高度个性化定制的数据可视化图表库。
  • pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。
  • 使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。
  • pyecharts包含的图表
    • Bar(柱状图/条形图)
    • Bar3D(3D 柱状图)
    • Boxplot(箱形图)
    • EffectScatter(带有涟漪特效动画的散点图)
    • Funnel(漏斗图)
    • Gauge(仪表盘)
    • Geo(地理坐标系) ...

由于 pyecharts 并没有内置在 Anaconda 中,因此需要额外通过 pip 来安装 pyecharts

pip install pyecharts==0.5.11
pip install pyecharts_snapshot
  • 安装和切换主题

echarts-themes-pypkg 提供了 vintage, macarons, infographic, shine 和 roma 主题

安装主题插件:pip install echarts-themes-pypkg
切换主题:bar.use_theme("主题名称")

通过具体图类自定义主题只是暂时的设置,如果想更换运行环境内所有图表主题,可做如下操作实现

from pyecharts import configure
configure(global_theme='dark')
  • 常用图表

  • 1、折线图

from pyecharts import Line

line = Line("我的第一个图表", "这里是副标题")

line.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])

结果为:

from pyecharts import Line

attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子']
v1 = [5,20,36,10,75,90]
v2 = [10,25,8,60,20,80]

line = Line('折线面积示例图')

line.add('商家A', attr, v1,
    line_opacity = 0.2,      #线条不透明度
    area_opacity = 0.4,      #填充不透明度
    symbol = None)  

line.add('商家B', attr, v2,
    line_color = '#000',     #黑色
    area_opacity = 0.3,      #填充不透明度
    is_smooth = True)

line

结果为:

  • 2、柱状图

#导入类库
from pyecharts import Bar
 
attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子']
v1 = [5,20,36,10,75,90]
v2 = [10,25,8,60,20,80]

#创建对象
bar = Bar("柱状图数据堆叠示例","副标题")

#average表示显示平均值,如果想要提供更多实用工具按钮,请在 add() 中设置 is_more_utils=True
bar.add("商家A", attr, v1, mark_point=["average"], is_stack=False, is_more_utils=True)

#min,max表示标注最大值与最小值点
bar.add("商家B",attr,v2,mark_line=["min","max"])

# #生成html文件
# bar.render("bar.html")

bar

结果为:

  • 3、仪表盘

#导入类库
from pyecharts import Gauge
 
#创建对象
gauge = Gauge('仪表盘示例',"我是副标题")

#第三个参数表示比例
gauge.add("业务指标", "完成率", 66.66, is_more_utils=True)

# #生成html文件
# gauge.render("gauge.html")

gauge

结果为:

  • 4、动态散点图

# 导入类库
from pyecharts import EffectScatter
 
#横坐标
v1 = [10,20,30,40,50,60]
#纵坐标
v2 = [25,20,15,10,60,33]

#创建对象
es = EffectScatter("动态散点图示例","我是副标题")

es.add("effectScatter", v1, v2, is_more_utils=True)

# #生成html文件
# es.render("effectScatter.html")

es

结果为:

  • 5、词云

#导入类库
from pyecharts import WordCloud
 
#要显示的每个词
name = ['网络','数据分析',"python",'Hadoop','flask']

#每个词出现的次数
value = [10000,6000,20000,4000,3000]

#创建对象
wd = WordCloud(width=1300, height=620)

#size_range:字体大小范围
wd.add("", name, value, word_size_range=(30,100), is_more_utils=True)

# 生成html文件
# wd.render('wordcloud.html')

wd

结果为:

  • 6、饼图

# 导入类库
from pyecharts import Pie
 
#要显示的内容
attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子']

#出现比例或次数
v1 = [11,12,13,10,10,10]

#创建对象
pie = Pie("饼图示例")

pie.add("", attr, v1, is_label_show=True, is_more_utils=True)

# 生成html文件
# pie.render('pie.html')

pie

结果为:

  • 7、地图

需要安装下列地图数据包

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-united-kingdom-pypkg
from pyecharts import Map
 
# 城市对应数据
value = [22859,244221]

# 城市名称必须要加上'市',否则无效
attr = ['广州市','深圳市']

#创建对象
maps = Map("Map结合VisualMap示例",width=1200,height=600)

maps.add("客户", attr, value, maptype='广东', is_visualmap=True, visual_text_color='#007', is_more_utils=True)

# 生成html文件
# maps.render('map.html')

maps

结果为:

 

posted @ 2020-10-11 18:00  江畔何人初见月/  阅读(1032)  评论(0)    收藏  举报