[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化

利用echarts或者pyecharts实现高端大气上档次的可视化

    • 简介
    • 可视化显示(代码+图例)
      • 1.条形图
      • 2.折线图
      • 3.饼状图
      • 4.雷达图
      • 5.玫瑰图

https://zhuanlan.zhihu.com/p/25841878

简介

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

  1. Echarts,百度开源的数据可视化工具,交互性好,图表精美

  2. Pyecharts = Python + Echarts
    在python中使用echarts
    新版本1.X,不向下兼容,,全面拥抱 Python3 和 TypeHint
    即原有0.5.x版本不再进行维护

  3. 主要分为全局配置组件和系列配置组件。

  • 系列配置项 set_series_opts(),可配置图元样式、文字样式、标签样式、点线样式等;
  • 全局配置项 set_global_opts(),可配置标题、动画、坐标轴、图例等;

可视化显示(代码+图例)

bar.render_notebook()   # 直接使用jupyter直接进行交互,更方便一点
bar.render('temp.html')   # 渲染成html,再打开HTML文件
  • Step1,引入echarts(引入)
  # 因为使用第三方的js,所以要提前加载进来
  • Step2,生成echarts对象(创建)
var myChart = echarts.init(document.getElementById('main'));  # 对echarts进行初始化,得到对象myChart
  • Step3,需要通过一个option对象来进行配置 (内容是option,这里对其进行配置)(配置)

使用 options 配置项,在 pyecharts 中,一切皆 Options。

  • Step4,加载option(加载)
  • 在配置过程中有一些字段的具体含义如下:
    [小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第1张图片
    [小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第2张图片
    [小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第3张图片
    https://www.echartsjs.com/zh/tutorial.html#ECharts%20%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5%E6%A6%82%E8%A7%88

1.条形图

用echarts实现


用pyecharts来实现

# 用pyecharts来实现
import pyecharts.options as opts
from pyecharts.charts import Bar
country = ["美国","西班牙","意大利","法国","德国","伊朗","英国","以色列","荷兰","奥地利"]
data = [13981, 7457, 5210, 2933, 1970, 1700, 1452, 1000, 852, 684]    
bar = (    
	Bar()     
	.add_xaxis(country)    
	.add_yaxis("新增确诊", data)
	.set_series_opts(label_opts=opts.LabelOpts(is_show=False))    
	.set_global_opts(title_opts=opts.TitleOpts(title="昨日新增确诊国家 Top10"))
	)
bar.render('temp.html')  # 直接使用jupyter直接进行交互
#bar.render_notebook()  #  render的意思是把之前得到的bar对象渲染为HTML文件

[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第4张图片

# 柱状图绘制
import pyecharts.options as opts
from pyecharts.charts import Bar
# 绘制多列柱状图
	country = ["美国","西班牙","意大利","法国","德国","伊朗","英国","以色列","荷兰","奥地利"]
	data1 = [69223, 49515, 74386, 25233, 37323, 27017, 9529, 2369, 6412, 5560]    
	data2 = [13981, 7457, 5210, 2933, 1970, 1700, 1452, 1000, 852, 684]    
	bar = (    
		Bar()    
		.add_xaxis(country)    
		.add_yaxis("累计确诊", data1)
		.add_yaxis("新增确诊", data2)
		.set_series_opts(label_opts=opts.LabelOpts(is_show=False))    
		.set_global_opts(title_opts=opts.TitleOpts(title="昨日新增确诊国家 Top10"))
		)
	bar.render('temp.html')  # render的意思是把之前得到的bar对象渲染为HTML文件

[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第5张图片

2.折线图

import pyecharts.options as opts
from pyecharts.charts import Line

# 设置折线图
line=Line()
# 设置x轴数据
line.add_xaxis(["201{}年/{}季度".format(y,z) 
              for y in range(4) 
              for z in range(1,5)])
# 设置y轴数据
line.add_yaxis(
             "手机销量", 
             [4.80,4.10,6.00,6.50,5.80,5.20,6.80,7.40,
              6.00,5.60,7.50,7.80,6.30,5.90,8.00,8.40]
             )
line.set_global_opts(
	#设置x轴标签旋转角度
	xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-40),),
	#设置y轴名称
	yaxis_opts=opts.AxisOpts(name="销量(单位/百万台)"),
	#设置图表标题
	title_opts=opts.TitleOpts(title="折线图"))

#渲染图表
line.render_notebook() 

[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第6张图片

3.饼状图

# 绘制饼图
from pyecharts import options as opts
from pyecharts.charts import Page, Pie
v1=["啤酒","可乐","雪碧","咖啡","奶茶"]
v2=[30,19,21,12,18]

pie = (
    Pie()
    .add("", [list(z) for z in zip(v1,v2)])
    .set_global_opts(title_opts=opts.TitleOpts(title="销售收入占比"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}%"))#格式化标签输出内容
)
pie.render_notebook()

[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第7张图片

4.雷达图

# 绘制雷达图
from pyecharts import options as opts
from pyecharts.charts import Page, Radar

v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]

radar = (
    Radar()
    .add_schema(
        schema=[
            opts.RadarIndicatorItem(name="KDA", max_=6500),
            opts.RadarIndicatorItem(name="输出", max_=16000),
            opts.RadarIndicatorItem(name="经济", max_=30000),
            opts.RadarIndicatorItem(name="生存", max_=38000),
            opts.RadarIndicatorItem(name="推进", max_=52000),
            opts.RadarIndicatorItem(name="打野", max_=25000),
        ]
    )
    .add("鲁班", v1,            #添加系列名称及数据
         color="red",           #设置边框线的颜色
         areastyle_opts = opts.AreaStyleOpts(#设置填充的属性
             opacity = 0.5,                  #透明度
             color="red"                     #填充颜色
     ),)
    .add("后裔", v2,color="blue",
         areastyle_opts = opts.AreaStyleOpts(
             opacity = 0.5,#透明度
             color="blue"
     ),)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="英雄成长对比"))
)

radar.render_notebook()

[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第8张图片

5.玫瑰图

import pyecharts.options as opts
from pyecharts.charts import Pie

# 绘制玫瑰图
rose = (
    Pie()
    .add(
        "",
        [list(z) for z in zip(["201{}年/{}季度".format(y,z)
            for y in range(2) 
                  for z in range(1,3)], [4.80,4.10,5.80,5.20])],
        #设置内径外径
        radius=["0%", "75%"],
        #玫瑰图有两种类型
        rosetype="radius",          
        label_opts=opts.LabelOpts(is_show=True),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="Pie-玫瑰图示例"))
)
rose.render_notebook()

[小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化_第9张图片

你可能感兴趣的:([小白系列]利用echarts或者pyecharts来实现高端大气上档次的可视化)