Python数据可视化——pyecharts篇

九、Python数据可视化

使用Echarts

1. Python中的Json数据

Json是一种轻量级的数据交互格式, 采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)

# json数据的格式可以是: 
{"name":"admin","age":18} 


# 也可以是:  
[{"name":"admin","age":18},{"name":"root","age":16},{"name":"张三","age":20}] 
  • Json数据格式转换的方法
    • 导入json:import json
    • 通过 json.dumps(data) 方法把python数据转化为了 json数据
      • 如果有中文可以带上:ensure_ascii=False参数来确保中文正常转换
    • 通过 json.loads(data) 方法把josn数据转化为了 python列表或字典

2. pyecharts介绍

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

pyecharts官方文档

  • 安装pyecharts:pip install pyecharts

3. pyecharts——折线图

  • 基础折线图

    from pyecharts.charts import Line
    from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
    
    # 创建一个折线图对象
    line = Line()
    # 设置x轴
    line.add_xaxis(['中国', '美国', '英国'])
    # 设置y轴
    line.add_yaxis('GDP', [30, 20, 10])
    # 生成图表
    line.render()
    
  • pyecharts的配置项

    • 全局配置项

      配置项 作用 代码实例
      title_opts 设置图标题和位置 title_opts=opts.TitleOpts(title=“标题”, pos_left=“center”)
      yaxis_opts y轴配置项 yaxis_opts=opts.AxisOpts(name=“累计确诊人数”)
      xaxis_opts x轴配置项 xaxis_opts=opts.AxisOpts(name=“时间”)
      legend_opts 图例配置项 legend_opts=opts.LegendOpts(pos_left=‘70%’)
      • 这里全局配置选项可以通过set_global_opts方法来进行配置, 相应的选项和选项的功能如下:
        Python数据可视化——pyecharts篇_第1张图片

      • set_global_opts方法

        # 设置全局配置项set_global_opts来设置
        line.set_global_opts(
            title_opts=TitleOpts('GDP展示',pos_left='center',pos_bottom='0%'),
            legend_opts=LegendOpts(is_show=True),
            toolbox_opts=ToolboxOpts(is_show=True),
            visualmap_opts=VisualMapOpts(is_show=True)
        )
        
    • 系列配置项:

      • .add_yaxis相关配置选项:

        配置项 作用 代码实例
        series_name 设置图例名称 series_name=“美国确诊人数”
        y_axis 输入y轴数据 y_axis=[“列表”]
        symbol_size 设置点的大小 symbol_size=10
        label_opts 标签设置项:不显示标签 label_opts=opts.LabelOpts(is_show=False)
        linestyle_opts 线条宽度和样式 linestyle_opts=opts.LineStyleOpts(width=2)

4. pyecharts——地图

  • 基本使用

    from pyecharts.charts import Map
    from pyecharts.options import VisualMapOpts
    
    map = Map()
    data = [
        ("北京市", 99),
        ("上海市", 199),
        ("湖南省", 299),
        ("台湾省", 199),
        ("安徽省", 299),
        ("广东身", 399),
        ("湖北省", 599)
    ]
    
    map.add('测试地图', data, 'china')
    
    map.set_global_opts(
        visualmap_opts=VisualMapOpts(
            is_show=True,
            is_piecewise=True,
            pieces=[
                {'min': 1, 'max': 9, 'label': '1-9', 'color': '#CCFFFF'},
                {'min': 10, 'max': 99, 'label': '10-99', 'color': '#FF6666'},
                {'min': 100, 'max': 500, 'label': '100-500', 'color': '#990033'},
            ]
        )
    )
    # 参数可选 传递对应的名字.html 生成对应网页
    map.render()
    
  • 结果:
    Python数据可视化——pyecharts篇_第2张图片

5. pyecharts——动态柱状图

  • 构建基础柱状图

    from pyecharts.charts import Bar
    from pyecharts.options import *
    
    # 构建柱状图对象
    bar = Bar()
    
    # 添加x轴数据
    bar.add_xaxis(['中国', '美国', '英国'])
    # 添加y轴数据
    bar.add_yaxis('GDP', [30, 20, 10], label_opts=LabelOpts(
        # 数值标签在右侧 
        position='right'
    ))
    
    # 翻转XY轴
    bar.reversal_axis()
    
    bar.render('GDP基础柱状图.html')
    

    结果:
    Python数据可视化——pyecharts篇_第3张图片

  • 基础时间线柱状图

    from pyecharts.charts import Bar, Timeline
    from pyecharts.options import *
    from pyecharts.globals import ThemeType
    
    bar1 = Bar()
    bar1.add_xaxis(['中国', '美国', '英国'])
    bar1.add_yaxis('GDP', [30, 30, 10], label_opts=LabelOpts(
        position='right'
    ))
    bar1.reversal_axis()
    
    bar2 = Bar()
    bar2.add_xaxis(['中国', '美国', '英国'])
    bar2.add_yaxis('GDP', [50, 50, 50], label_opts=LabelOpts(
        position='right'
    ))
    bar2.reversal_axis()
    
    bar3 = Bar()
    bar3.add_xaxis(['中国', '美国', '英国'])
    bar3.add_yaxis('GDP', [70, 60, 60], label_opts=LabelOpts(
        position='right'
    ))
    bar3.reversal_axis()
    
    timeline = Timeline(
        {
            # 设置主题
            'theme': ThemeType.LIGHT
        }
    )
    
    timeline.add(bar1, '点1')
    timeline.add(bar2, '点2')
    timeline.add(bar3, '点3')
    
    timeline.add_schema(
        # 自动播放时间间隔 毫秒
        play_interval=1000,
        # 是否自动播放
        is_auto_play=True,
        # 是否循环播放
        is_loop_play=True,
        # 是否展示时间线
        is_timeline_show=True
    )
    
    timeline.render('基础时间线柱状图.html')
    

    结果:
    Python数据可视化——pyecharts篇_第4张图片

    • 时间线主题设置(设置柱状条样式)
      Python数据可视化——pyecharts篇_第5张图片

你可能感兴趣的:(Python,python,信息可视化,开发语言,echarts)