Python pyecharts 绘制漏斗图:原理、模板与代码实现
本文介绍使用 Python 库 pyecharts 绘制漏斗图的方法。首先阐述漏斗图在 Meta 分析中用于评估发表偏倚的原理,包括样本量与效应量的关系。随后提供尖顶型、锥子型、三角形及连接型四种模板的代码实现与可视化效果,帮助开发者快速掌握数据预处理与绘图技巧。
漏斗图
漏斗图由 Light 等人于 1984 年提出,通常以单个研究的效应量为横坐标,样本含量为纵坐标绘制散点图。效应量可包括相对危险度(RR)、比值比(OR)、死亡比或其对数值等。理论上,纳入 Meta 分析的各独立研究效应的点估计在平面坐标系中的集合应呈倒置的漏斗形,因此得名。
样本量较小的研究精度较低,其数据点分布在漏斗图的底部,并向周围分散。
样本量较大的研究精度较高,其数据点分布在漏斗图的顶部,并向中间集中。
漏斗图法的主要优点包括:
操作简单,仅需被纳入的独立研究的样本含量和效应量即可绘制。
漏斗图法的主要局限性包括:
对称性仅通过目测判断,缺乏严格标准,不同观察者可能得出不同结论。
漏斗图仅能对发表偏倚进行粗略的定性判断;当纳入的独立研究数量较少时,判断散点对称性的难度进一步增加。
该方法可使系统评价人员意识到潜在问题,但无法直接提供解决方案。
漏斗图系列模板
尖顶型漏斗图
数据需通过 Python 进行预处理,然后导入模板进行绘制。
from pyecharts import options as opts
from pyecharts.charts import Funnel
from pyecharts.faker import Faker
c = (
Funnel()
.add(
"类别",
[list(z) for z in zip(Faker.choose(), Faker.values())],
sort_="ascending",
label_opts=opts.LabelOpts(position="inside"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="标题"))
.render("尖顶型漏斗.html")
)
锥子型漏斗
只需对数据进行适当排序即可;当然,日常科研统计分析中的数据往往更为复杂。
from pyecharts import options as opts
from pyecharts.charts import Funnel
from pyecharts.faker import Faker
c = (
Funnel()
.add("类别", [list(z) for z in zip(Faker.choose(), Faker.values())])
.set_global_opts(title_opts=opts.TitleOpts(title="标题"))
.render("锥子型漏斗.html")
)
三角形漏斗
import pyecharts.options as opts
from pyecharts.charts import Funnel
x_data = ["展现", "点击", "访问", "咨询", "订单"]
y_data = [100, 80, 60, 40, 20]
data = [[x_data[i], y_data[i]] for i in range(len(x_data))]
(
Funnel(init_opts=opts.InitOpts(width="1200px", height="600px"))
.add(
series_name="",
data_pair=data,
gap=2,
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b} : {c}%"),
label_opts=opts.LabelOpts(is_show=True, position="inside"),
itemstyle_opts=opts.ItemStyleOpts(border_color="#fff", border_width=1),
)
.set_global_opts(title_opts=opts.TitleOpts(title="漏斗图", subtitle="123"))
.render("三角形漏斗.html")
)
连接型漏斗
from pyecharts import options as opts
from pyecharts.charts import Funnel
from pyecharts.faker import Faker
c = (
Funnel()
.add(
"类别",
[list(z) for z in zip(Faker.choose(), Faker.values())],
label_opts=opts.LabelOpts(position="inside"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="标题"))
.render("连接型漏斗.html")
)
到此这篇关于 Python 可视化神器 pyecharts 绘制漏斗图的文章就介绍到这了,更多相关 Python 绘制漏斗图内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













