[Xiaobaiシリーズ] echartsまたはpyechartsを使用して、高級な雰囲気の視覚化を実現します

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

はじめに

Echartsは、Baiduによってオープンソース化されたデータ視覚化ツールであり、優れたインタラクティブ性と精巧なグラフデザインにより、多くの開発者から認められています。Pythonは表現力豊かな言語であり、データ処理に非常に適しています。データ分析がデータの視覚化と出会うとき、pyechartsが生まれました。pyecharts apiは次を参照できます:https ://pyecharts.org/#/zh-cn/chart_api

  1. Echarts、Baiduオープンソースデータ視覚化ツール、優れたインタラクティブ性、美しいチャート

  2. Pyecharts = Python + Echarts
    は、
    新しいバージョンのecharts 1.X をPython 使用します。下位互換性
    はなく、Python3とTypeHintを完全に受け入れます。つまり、元の0.5.x バージョンは維持されなくなります。

  3. 主にグローバル構成コンポーネントとシリーズ構成コンポーネントに分かれています。

  • シリーズ構成アイテムset_series_opts()は、プリミティブスタイル、テキストスタイル、ラベルスタイル、点線スタイルなどを構成できます。
  • グローバル構成アイテムset_global_opts()は、タイトル、アニメーション、座標軸、凡例などを構成できます。

視覚的表示(コード+凡例)

bar.render_notebook()   # 直接使用jupyter直接进行交互,更方便一点
bar.render('temp.html')   # 渲染成html,再打开HTML文件
  • Step1、echartsの紹介(はじめに)
<script src="echarts.min.js"></script>  # 因为使用第三方的js,所以要提前加载进来
  • ステップ2、echartsオブジェクトを生成(作成)
var myChart = echarts.init(document.getElementById('main'));  # 对echarts进行初始化,得到对象myChart
  • ステップ3、オプションオブジェクトを介して構成する必要があります(コンテンツはオプションです。ここで構成します)(構成)

pyechartsでは、オプション構成項目を使用して、すべてがオプションです。

1.棒グラフ

echartsで実装

<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));  // 先得到一个main
    // 指定图表的配置项和数据
    // 生成一个option
    var option = {  
        title: {
            text: '昨日新增确诊国家 Top10'
        },
        tooltip: {},
        legend: {
            data:['新增确诊']


        },
        xAxis: {
            data: ["美国","西班牙","意大利","法国","德国","伊朗","英国","以色列","荷兰","奥地利"]
        },
        yAxis: {},
        series: [{
            name: '新增',
            type: 'bar',  // 代表我们要呈现的图的类型为条形图
            data: [13981, 7457, 5210, 2933, 1970, 1700, 1452, 1000, 852, 684]
        }]
    };
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>

達成するために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文件

ここに画像の説明を挿入

# 柱状图绘制
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文件

ここに画像の説明を挿入

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() 

ここに画像の説明を挿入

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()

ここに画像の説明を挿入

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()

ここに画像の説明を挿入

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()

ここに画像の説明を挿入

公開された42の元の記事 賞賛された28 訪問4961

おすすめ

転載: blog.csdn.net/KaelCui/article/details/105278418