`pdvega`: 基于Pandas的Vega-Lite交互式绘图库

pdvega: 基于Pandas的Vega-Lite交互式绘图库

pdvega是一个巧妙的开源库,它允许您直接从Pandas数据框创建交互式的Vega-Lite图表,其API与Pandas内置的可视化工具几乎相同,并且在Jupyter Notebook中运行得尤为流畅。

默认情况下,Pandas提供了基于matplotlib的一些基本绘图功能。比如,您可以这样创建散点图:

import numpy as np
import pandas as pd

df = pd.DataFrame({'x': np.random.randn(100), 'y': np.random.randn(100)})
df.plot.scatter(x='x', y='y')

matplotlib散点图示例

pdvega的目标是让您可以轻松地将上述代码中的dataframe.plot替换为dataframe.vgplot,从而得到一个更美观且交互性强的Vega-Lite图表,便于分享或自定义:

import pdvega  # 导入后会给Pandas添加vgplot属性

df.vgplot.scatter(x='x', y='y')

Vega-Lite散点图示例

上面的图像仅是交互式输出的静态截图;请参阅文档以获取完整的实时使用示例。

安装与使用

要开始使用pdvega,可以通过pip进行安装:

$ pip install jupyter pdvega
$ jupyter nbextension install --sys-prefix --py vega3

第一行命令用于安装pdvega及其依赖项,第二行命令则用于在Jupyter Notebook中安装必要的扩展,使图形能够正常显示。有关更多安装和依赖性信息,请参考安装指南

为什么选择Vega-Lite?

处理数据时,确保结果可重复性是一项重大挑战。通过将数据嵌入到PNG或PDF的渲染图像中,会导致数据难以甚至无法提取。而VegaVega-Lite颠覆了这一模式:它们不编码像素值来创建图形,而是通过JSON规范以声明式方式描述数据值与视觉编码之间的关系。

这意味着pdvega产生的Vega-Lite图形是便携式的。您可以发送JSON规范给别人,他们可以选择在线交互式渲染、转换为静态PNG或EPS,甚至增强和扩展图形以深入理解数据。

pdvega的目标不是设计新的可视化API,而是利用已有的DataFrame.plot可视化API,并将输出可视化转化为Vega/Vega-Lite,而非matplotlib。

在这一点上,pdvega的精神与已停运的mpld3项目相似,但范围更小,(希望)更加易于管理。

关于Altair

Altair是一个旨在为Vega-Lite和Vega生成可视化图形的项目,其中Pandas数据帧作为数据源。

相比之下,pdvega侧重于使用现有的DataFrame.plot API并以Vega/Vega-Lite而不是matplotlib来呈现结果。

总的来说,pdvega提供了一种简洁、直观的方式来利用Pandas的强大功能,结合Vega-Lite的可视化潜力,为您的数据分析工作带来全新的体验和可能性。立即尝试,释放你的数据魅力吧!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢忻含Norma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值