Python数据可视化,被Altair圈粉了

简介: Python数据可视化,被Altair圈粉了

神奇的Altair


介绍本期主角之前,先给大家一张GIF


640.gif


是不是很炫酷?更神奇的是,完成这么一幅可交互的图表,仅需不到20行代码。


这幅图是用Python的可视化库Altair绘制的,Altair可以使用强大而简洁的可视化语法快速开发各种统计可视化图表。用户只需要提供数据列与编码通道之间的链接,例如x轴,y轴,颜色等,其余的绘图细节它会自动处理。


事实上,Altair能做的还有很多,大家可以去官网example gallery观赏


640.png


安装、配置、导入Altair


如果你安装的是anaconda(我强烈建议你安装这个IDE),Altair已经内置,无需再安装。但是如果需要实例数据集,还要安装vega_datasets:


pip install vega_datasets


然后打开anaconda安装目录,打开Navigation


640.png

打开JupyterLab


640.png


新建一个notebook,运行示例代码,OK!


Altair图形语法


Chart有三个基本方法:数据(data)、标记(mark)和编码(encode),使用它们的格式如下:


alt.Chart(data).mark_point().encode(
encoding_1='column_1',
encoding_2='column_2',
etc. )


Data:Altair内部使用的数据以Pandas中的Dataframe格式存储,但有以下三种方式传入:


  • 以Pandas的DataFrame格式传入;
  • 以Data对象传入;
  • 以指向csv或json文本的url传入;


Mark:定义好数据之后,需要选择显示的图形比如条形图、折线图、面积图、散点图、直方图、地图等各种交互式图表。

640.png

Encoding:编码方式定义了图片显示的各种属性,如每个图片的位置,图片轴的属性等。这部分是最重要的,记住关键的几个就行。


位置通道:定义位置相关属性:


  • x: x轴数值
  • y: y轴数值
  • row: 按行分列图片
  • column: 按列分列图片


通道描述:


  • color: 标记点颜色
  • opacity: 标记点的透明度
  • shape: 标记点的形状
  • size: 标记点的大小


通道域信息:text:文本标记 label:标签

数据类型:


  • quantitative:缩写Q 连续型数据
  • ordinal:缩写O 离散型
  • nominal:缩写N 离散无序
  • temporal:缩写T 时间序列


分类与聚合:最大值、最小值、均值、求和等等

640.png


交互


除了绘制基本图像,Altair强大之处在于用户可以与图像进行交互,包括平移、缩放、选中某一块数据等操作。在绘制图片的代码后面,调用interactive()模块,就能实现平移、缩放。


640.png


Altair还为创建交互式图像提供了一个selection的API,在选择功能上,我们能做出一些更酷炫的高级功能,例如本文开头处展示的GIF,对选中的数据点进行统计,生成实时的直方图。


import altair as alt 
from vega_datasets import data
source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode( x='Horsepower:Q', y='Miles_per_Gallon:Q', color=alt.condition(brush, 'Origin:N', alt.value('lightgray')) ).add_selection( brush )
bars = alt.Chart(source).mark_bar().encode( y='Origin:N', color='Origin:N', x='count(Origin):Q' ).transform_filter( brush )
points & bars


学习方法与建议


没什么捷径,只有多看文档、源码

相关文章
|
14天前
|
数据可视化 Python
使用Python进行数据可视化的初学者指南
在数据的海洋里,我们如何能够不迷失方向?通过数据可视化的力量,我们可以将复杂的数据集转化为易于理解的图形和图表。本文旨在为初学者提供一份简明的入门手册,介绍如何使用Python中的Matplotlib库来揭示数据背后的故事。我们将从基础的图表开始,逐步深入到更高级的可视化技术,确保每个步骤都清晰易懂,让初学者也能轻松上手。让我们开始绘制属于你自己的数据图谱吧!
|
25天前
|
机器学习/深度学习 人工智能 数据可视化
使用Python进行数据可视化:探索与实践
在数字时代的浪潮中,数据可视化成为了沟通复杂信息和洞察数据背后故事的重要工具。本文将引导读者通过Python这一强大的编程语言,利用其丰富的库函数,轻松入门并掌握数据可视化的基础技能。我们将从简单的图表创建开始,逐步深入到交互式图表的制作,最终实现复杂数据的动态呈现。无论你是数据分析新手,还是希望提升报告吸引力的专业人士,这篇文章都将是你的理想指南。
36 9
|
21天前
|
数据可视化 数据处理 Python
Python编程中的数据可视化技术
在Python编程中,数据可视化是一项强大的工具,它能够将复杂的数据集转化为易于理解的图形。本文将介绍如何使用matplotlib和pandas这两个流行的Python库来实现数据可视化,并展示一些实用的代码示例。通过这些示例,读者将学会如何创建各种图表,包括折线图、柱状图和散点图等,以便更好地理解和呈现数据。
|
1月前
|
数据可视化 数据挖掘 定位技术
Python和Geopandas进行地理数据可视化
【10月更文挑战第22天】本文介绍了如何使用Python和Geopandas进行地理数据可视化和分析,涵盖从准备工作、加载数据、数据探索与处理、地理数据可视化、空间分析与查询到交互式地理数据可视化等内容。通过丰富的代码示例和案例演示,帮助读者掌握地理数据分析的基本方法,为实际应用提供支持。
88 19
|
1月前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
2月前
|
数据可视化 数据挖掘 Python
使用Python进行数据可视化:探索与实践
【10月更文挑战第21天】本文旨在通过Python编程,介绍如何利用数据可视化技术来揭示数据背后的信息和趋势。我们将从基础的图表创建开始,逐步深入到高级可视化技巧,包括交互式图表和动态展示。文章将引导读者理解不同图表类型适用的场景,并教授如何使用流行的库如Matplotlib和Seaborn来制作美观且具有洞察力的可视化作品。
50 7
|
1月前
|
数据可视化 定位技术 Python
使用Python进行数据可视化
【10月更文挑战第22天】在这篇文章中,我们将深入探讨如何使用Python进行数据可视化。我们将从基础的图表开始,然后逐步进入更复杂的可视化技术。我们将通过实例代码来展示如何实现这些可视化,以便读者能够更好地理解和应用这些技术。
38 5
|
2月前
|
数据可视化 Python
使用Python进行数据可视化的初学者指南
【10月更文挑战第20天】本文旨在为编程新手提供一个简洁明了的入门指南,通过Python语言实现数据可视化。我们会介绍如何安装必要的库、理解数据结构,并利用这些知识来创建基本图表。文章将用通俗易懂的语言和示例代码,帮助读者快速掌握数据可视化的基础技能。
38 4
|
2月前
|
数据可视化 Python
Python 高级绘图:探索数据可视化
在Python中,利用matplotlib、seaborn等库可实现数据的可视化。matplotlib功能丰富,支持基础图表绘制;seaborn则提供了更美观的默认样式。此外,matplotlib还支持3D图形及动态图表的生成,满足多样化的数据展示需求。 示例代码展示了如何使用这些库绘制正弦波、散点图、3D曲面图及动态更新的折线图。通过numpy生成数据,并借助matplotlib与seaborn的强大绘图功能,实现数据的直观呈现。
74 17
|
2月前
|
数据可视化 开发者 Python
使用Python进行数据可视化:从入门到精通
【10月更文挑战第7天】本文将引导您通过Python的可视化库,如Matplotlib和Seaborn,来探索和展示数据。我们将通过实际代码示例,学习如何创建各种图表,包括条形图、散点图和直方图等,并讨论如何优化这些图表以更好地传达信息。无论您是初学者还是有一定基础的开发者,这篇文章都能帮助您提高数据可视化技能。