Utilisez des echarts ou des pyecharts pour obtenir une visualisation atmosphérique haut de gamme
https://zhuanlan.zhihu.com/p/25841878
Présentation
Echarts est un outil de visualisation de données open source de Baidu. Avec une bonne interactivité et une conception graphique exquise, il a été reconnu par de nombreux développeurs. Et Python est un langage expressif, très adapté au traitement des données. Lorsque l'analyse des données rencontre la visualisation des données, des pyecharts sont nés. api pyecharts peut faire référence à: https://pyecharts.org/#/zh-cn/chart_api
-
Echarts, outil de visualisation de données open source Baidu, bonne interactivité, beaux graphiques
-
Pyecharts = Python + Echarts
utilise la
nouvelle version d' echarts 1.X en Python , non rétrocompatible, embrasse entièrement Python3 et TypeHint
, c'est-à-dire que la version 0.5.x originale n'est plus maintenue -
Principalement divisé en composants de configuration globale et composants de configuration en série.
- L'élément de configuration de série set_series_opts (), peut configurer le style primitif, le style de texte, le style d'étiquette, le style de ligne de points, etc.;
- L'élément de configuration globale set_global_opts (), peut configurer le titre, l'animation, l'axe des coordonnées, la légende, etc.;
Affichage visuel (code + légende)
bar.render_notebook() # 直接使用jupyter直接进行交互,更方便一点
bar.render('temp.html') # 渲染成html,再打开HTML文件
- Étape 1, présenter les graphiques (introduction)
<script src="echarts.min.js"></script> # 因为使用第三方的js,所以要提前加载进来
- Étape 2, générer un objet echarts (créer)
var myChart = echarts.init(document.getElementById('main')); # 对echarts进行初始化,得到对象myChart
- Étape 3, besoin de configurer via un objet option (le contenu est une option, configurez-le ici) (configuration)
Utilisez les éléments de configuration des options, dans les pyecharts, tout est Options.
- Étape 4, option de chargement (chargement)
- Les significations spécifiques de certains champs du processus de configuration sont les suivantes:
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. Graphique à barres
Implémenté avec 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>
Utilisez des graphiques pour atteindre
# 用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. Graphique linéaire
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. Graphique circulaire
# 绘制饼图
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. Diagramme radar
# 绘制雷达图
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. Illustration rose
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()