• Python声明式统计可视化库 altair-GitHub鉴赏官


    推荐理由:Vega-Altair是 Python 的声明式统计可视化库。借助 Vega-Altair,您可以花更多时间来理解数据及其含义。Vega-Altair 的 API 简单、友好且一致,建立在强大的 Vega-Lite JSON 规范之上。这种优雅的简单性可以用最少的代码产生漂亮而有效的可视化效果。Vega-Altair 最初由Jake VanderplasBrian GrangerUW Interactive Data Lab密切合作开发。

    适用人群:Python开发

    推荐指数:7.9k

    项目名称:altair

    =========================================================================

    牛郎星

    https://altair-viz.github.io

    Vega-Altair是 Python 的声明式统计可视化库。借助 Vega-Altair,您可以花更多时间来理解数据及其含义。Vega-Altair 的 API 简单、友好且一致,并建立在强大的 Vega-Lite JSON 规范之上。这种优雅的简单性可以用最少的代码产生漂亮而有效的可视化效果。Vega-Altair 最初由Jake VanderplasBrian GrangerUW Interactive Data Lab密切合作开发。

    Vega-Altair 文档

    请参阅Vega-Altair 的文档站点以及 Vega-Altair 的教程笔记本

    例子

    下面是一个使用 Vega-Altair 在 JupyterLab 中使用原生 Vega-Lite 渲染器快速可视化和显示数据集的示例:

     
    
    1. import altair as alt
    2. # load a simple dataset as a pandas DataFrame
    3. from vega_datasets import data
    4. cars = data.cars()
    5. alt.Chart(cars).mark_point().encode(
    6. x=`Horsepower`,
    7. y=`Miles_per_Gallon`,
    8. color=`Origin`,
    9. )

    继承自 Vega-Lite 的 Vega-Altair 的独特功能之一是一种不仅可视化而且交互的声明性语法。通过对上面的示例进行一些修改,我们可以创建一个链接的直方图,该直方图根据散点图的选择进行过滤。

    1. import altair as alt
    2. from vega_datasets import data
    3. source = data.cars()
    4. brush = alt.selection(type=`interval`)
    5. points = alt.Chart(source).mark_point().encode(
    6. x=`Horsepower`,
    7. y=`Miles_per_Gallon`,
    8. color=alt.condition(brush, `Origin`, alt.value(`lightgray`))
    9. ).add_selection(
    10. brush
    11. )
    12. bars = alt.Chart(source).mark_bar().encode(
    13. y=`Origin`,
    14. color=`Origin`,
    15. x=`count(Origin)`
    16. ).transform_filter(
    17. brush
    18. )
    19. points & bars

    让您的问题得到解答

    如果您有文档中未解决的问题,可以通过多种方式提出:

    我们会尽力解答您的问题

    用于统计可视化的 Python API

    Vega-Altair 提供了一个 Python API,用于以声明方式构建统计可视化。通过统计可视化,我们的意思是:

    • 数据源DataFrame由不同数据类型(定量、有序、名义和日期/时间)的列组成的。
    • DataFrame是一种整洁的格式 ,其中行对应于样本,列对应于观察到的变量。
    • 使用分组数据转换将数据映射到视觉属性(位置、颜色、大小、形状、面等)。

    Vega-Altair API 不包含实际的可视化渲染代码,而是按照 Vega-Lite规范发出 JSON 数据结构。生成的 Vega-Lite JSON 数据可以在以下用户界面中呈现:

    特征

    • 基于 traitlets的精心设计的声明式 Python API 。
    • 自动生成的内部 Python API,可确保可视化经过类型检查并完全符合Vega-Lite 规范。
    • 在 GitHub 和nbviewer上的实时 Jupyter Notebook、JupyterLab、nteract 中显示可视化 。
    • 将可视化导出为 PNG/SVG 图像、独立 HTML 页面和 在线 Vega-Lite 编辑器
    • 将可视化序列化为 JSON 文件。
    • 通过示例库中的数十个示例探索 Vega-Altair

    安装

    使用Vega-Altair进行可视化,需要安装两套工具

    1. 核心 Vega-Altair 包及其依赖项
    2. 您希望使用的前端渲染器(即Jupyter Notebook、 JupyterLabnteract

    Vega-Altair 可以pipconda. 有关完整安装说明,请参阅 Installation — Altair 4.2.0 documentation

    示例和教程笔记本

    我们维护一个单独的 Jupyter Notebooks Github 存储库,其中包含交互式教程和示例:

    https://github.com/altair-viz/altair_notebooks

    要使用活页夹或 Colab使用这些笔记本启动实时笔记本服务器,请单击以下标志之一:

    项目理念

    Python 中存在许多优秀的绘图库,包括主要的:

    每个库都能很好地完成一组特定的事情。

    用户挑战

    然而,如此多的选项给用户带来了很大的困难,因为他们必须费力地浏览所有这些 API 才能找到最适合手头任务的 API。这些库都没有针对高级统计可视化进行优化,因此用户必须使用混杂的 API 来组装自己的库。对于刚刚学习数据科学的个人来说,这迫使他们专注于学习 API 而不是探索他们的数据。

    另一个挑战是当前的绘图 API 需要用户编写代码,即使是可视化的附带细节也是如此。这会导致不幸和不必要的认知负担,因为通常可以使用基本信息(例如感兴趣的列和这些列的数据类型)来推断可视化类型(直方图、散点图等)。

    例如,如果您对两个数字列的可视化感兴趣,散点图几乎肯定是一个很好的起点。如果向其添加分类列,您可能希望使用颜色或构面对该列进行编码。如果有时难以推断可视化效果,一个简单的用户界面可以构建可视化效果而无需任何编码。 TableauInteractive Data Lab的 Polestar和 Voyager是此类 UI 的绝佳示例。

    设计方法和解决方案

    我们相信,无需创建另一个具有编程 API 和内置渲染的可视化库,就可以解决这些挑战。Vega-Altair 构建可视化的方法使用分层设计,充分利用现有可视化库的全部功能:

    1. 创建一个受约束的、简单的 Python API (Vega-Altair),它是纯声明式的
    2. 使用 API (Vega-Altair) 发出遵循 Vega-Lite 规范的 JSON 输出
    3. 使用现有的可视化库渲染该规范

    这种方法使用户能够最初使用更简单的 API 执行探索性可视化,为他们的用例选择合适的渲染器,然后利用该渲染器的全部功能进行更高级的绘图定制。

    我们意识到,与 Matplotlib、Bokeh 等的完整编程 API 相比,声明性 API 必然会受到限制。我们认为这是一种深思熟虑的设计选择,可以简化探索性可视化的用户体验。

    开发安装

    Vega-Altair 需要以下依赖项:

    如果您已克隆存储库,请从存储库的根目录运行以下命令:

    pip install -e .[dev]
    

    如果您不想克隆存储库,可以使用以下方式安装:

    pip install git+https://github.com/altair-viz/altair
    

    测试

    要运行测试套件,您必须安装py.test。要运行测试,请使用

    py.test --pyargs altair
    

    --pyargs(如果您从源代码检出运行测试,则可以省略该标志)。

    如果您在学术工作中使用 Vega-Altair,请考虑引用Journal of Open Source Software: Altair: Interactive Statistical Visualizations for Python作为

     
    
    1. @article{VanderPlas2018,
    2. doi = {10.21105/joss.01057},
    3. url = {https://doi.org/10.21105/joss.01057},
    4. year = {2018},
    5. publisher = {The Open Journal},
    6. volume = {3},
    7. number = {32},
    8. pages = {1057},
    9. author = {Jacob VanderPlas and Brian Granger and Jeffrey Heer and Dominik Moritz and Kanit Wongsuphasawat and Arvind Satyanarayan and Eitan Lees and Ilia Timofeev and Ben Welsh and Scott Sievert},
    10. title = {Altair: Interactive Statistical Visualizations for Python},
    11. journal = {Journal of Open Source Software}
    12. }

    请另外考虑引用Vega-Altair 基于的vega-lite项目: https ://dl.acm.org/doi/10.1109/TVCG.2016.2599030

    1. @article{Satyanarayan2017,
    2. author={Satyanarayan, Arvind and Moritz, Dominik and Wongsuphasawat, Kanit and Heer, Jeffrey},
    3. title={Vega-Lite: A Grammar of Interactive Graphics},
    4. journal={IEEE transactions on visualization and computer graphics},
    5. year={2017},
    6. volume={23},
    7. number={1},
    8. pages={341-350},
    9. publisher={IEEE}
    10. }

    Vega-Altair 从何而来?

    织女星项目以天琴座中最亮的恒星命名;附近的牵牛星是天鹰座中最亮的恒星,它与天津四和织女星一起构成北半球的星群,即夏季大三角

    开源地址

    GitHub - altair-viz/altair: Declarative statistical visualization library for Python

    开源是一种精神,致敬屏幕背后的你!

    996技术站 - 活在未来 | KingSun966技术站,极客带你看世界!https://www.996station.com/

  • 相关阅读:
    漫步5G-A City,一份独属于上海的浪漫
    IBM SPSS Statistics for Mac:强大的数据分析软件
    【Linux】线程属性的定义&如何修改线程属性(附图解与代码实现)
    【毕设教程】物联网/嵌入式/单片机毕业设计项目开发流程
    荣23转债上市价格预测
    【c语言】字符函数和字符串函数(下)
    .NET CORE Aws S3 使用
    Apache Spark 的基本概念和在大数据分析中的应用 103.219.31.8
    Python3安装pyhanlp最佳解决方法
    Pytest 参数参考
  • 原文地址:https://blog.csdn.net/weixin_42008209/article/details/128170088