Altair数据可视化实战系列教程·基础篇(一)——引言,安装,编程模式,折线图绘制

Altair数据可视化实战系列教程·基础篇(一)——引言,安装,编程模式,折线图绘制

引言

最近,由于工作和学习的需要,需要分析和处理一些数据,数据的可视化是数据分析过程中十分重要的部分。作为一名Python控,Matplotlib和Seaborn一直是自己可视化工具箱中的主要作战武器。最近,无意中接触到了Altair,一段时间的学习和使用后,深深粉上了这个Python可视化库。喜欢上Altair的原因主要有两点:1.上手较快,个人觉得Altair的入门是比较容易的,其提供的编程接口比较简单,能让刚接触的人快速上手;2.另一个原因就是,本人是个颜值控,Altair默认的图像效果十分的漂亮,先让各位看官直观的感受一下Altair的视觉效果吧。限于篇幅,我们只在此处展示了常用的折线图,散点图和条形图。
Altair Line
在这里插入图片描述
在这里插入图片描述
本教程将尽量使用浅显易懂的语言帮助“零“基础的朋友快速入门Altair可视化库。看完本系列教程,您将能使用Altair库快速的绘制出基本但精美的数据图。阅读本教程需要您具备基础的python编程经验,简单来说只要明白类、对象、函数调用等基本编程概念就可以读懂本文。本教程推荐的实验环境如下:

  1. Anaconda(用于创建python编程环境以及相关开发包的安装和管理)
  2. jupyter lab或者notebook (个人最喜欢的交互式环境)
  3. python 3.5 及以上版本
  4. 安装 pandas,numpy,altair

当然,如果您觉得安装anaconda麻烦,那您只需要安装对应版本的python解释器,然后安装所需要的库即可。本教程会为大家提供完整的jupyter notebook格式的源代码文件,方便大家自己复现课程中的实验。

Altair的安装

altair的安装十分简单,如果使用anaconda只需在anaconda的命令行中执行如下命令:

conda install -c conda-forge altair

或者,使用pip来安装

 pip install altair 

因为altair依赖于numpy和pandas,所以执行完以上命令后无需再单独安装这两个库。

编程模式

在完成上述实验环境的安装和配置后,我们就可以开始我们的正式征程了。在开始实战讲解前,我们还需要了解一下Altair的编程模式。这里的编程模式其实指的是使用Altair库编程的特定”套路“。我们知道每个库都有自己的一些特定的语句调用格式,了解使用每个库进行开发的特定”套路“能让我们更快的做到举一反三,加快我们的学习速度。

就像把大象装进冰箱需要三步一样,使用Altair进行基本的数据可视化也只需要四步:1.准备数据;2.使用数据创建图表;3.设置图表类型(需要绘制折线图,散点图还是其他的图像);4.对图像进行编码(也就是对图像进行具体设置,比如:x轴显示什么数据,y轴显示什么数据等)。如果大家记住了这四步流程,那么恭喜你,你的Altair征程已经完成了一半,是不是觉得有点轻松?

在这部分的最后,我们需要向大家介绍一下Altair可以接受的数据类型。Altair可以接受如下几类数据作为输入:

  1. Pandas.DataFrame 对象,有过使用Pandas进行数据分析经验的朋友应该对DataFrame不陌生,不了解的也不用着急,你可以简单的把它理解为python的Excel表格,它的数据组织方式和Excel是一样的,通过后面的实例,你可以轻松理解它
  2. altair.Data对象,这是altair自己的数据对象
  3. 一个指向json或者csv格式文件的url,也就是说altair可以直接获取网上的在线数据。
  4. 一个支持__geo_interface__ 接口的对象(比如: Geopandas.GeoDataFrame)

在我们的教程中,我们主要处理的是第一种数据,也就是DataFrame,这也是我们在实际中最容易接触到的数据。因为,json文件或者csv文件最终也是转换为DataFrame进行处理的。官网的例子也主要是通过DataFrame来处理输入数据的。而最后一种数据主要用来处理地理数据,这在后面的教程中我们也会遇到。当前,我们主要关注的是DataFrame。

使用Altair绘制简单的折线图

铺垫了这么久,终于可以开始我们的实战演练了。俗话说,万事开头难,有了前面的铺垫,后面的事情会变得更加容易。线图是数据可视化中最常见的图像,通过线图我们能清楚的看出某个数据的走势。这里我们使用线图来观察中国2001年-2018年期间,GDP的走势。相关数据,会以附件形式上传。

首先,导入所需要的库:

import pandas as pd
import altair as alt
import numpy as np

主要导入了三个库:pandas,altair,numpy,这三个库也将是我们在本系列教程中主要用到的python库。接着,从China_GDP.csv文件读入所需要的数据。

gdp = pd.read_csv('China_GDP.csv')
gdp

这里,调用了pandas.read_csv函数,并为其提供了存储数据的.csv文件的路径,因为数据文件和代码在同一个目录下,所以只提供了文件名称。pandas.read_csv函数读取指定文件中的数据后,会返回包含数据的DataFrame对象,并将其保存到gdp变量中。在jupyter notebook中执行上面的代码后,可以查看gdp中的数据内容如下图所示:

DataFrame 按照表格的方式来组织数据,最左边的0, 1, 2, 3, …表示行号,最上面的year, GNI, GDP, PIVA则是列名。每行代表一条记录,每条记录包括四个属性(从左往右依次为:年份,国民总收入,国内生产总值,第一产业增值)。请大家记住这个表格的大概格式,接下来折线图的绘制将与此息息相关。

到此为止,我们完成了四个绘图步骤中的第一步——准备数据。请记住,我们需要将可视化的数据转换为DataFrame格式才能使用Altair进行数据可视化。现在,我们想观察一下近几年来,中国GDP的一个走势。请仔细想想我们需要上图中的哪些数据?“近几年”表明我们需要年份数据,“GDP的走势”表明我们需要GDP数据。明确了所需的数据后,我们就可以开始作图了,详细代码如下:

alt.Chart(gdp).mark_line(point=True).encode(
    x = 'year',
    y = 'GDP'
)

在jupyter notebook中执行上述代码后,就可以看到我们需要的折线图了:
在这里插入图片描述
与Matplotlib每次输出图像前,各种配置x轴,y轴比起来,用Altair绘图是不是方便得多!当然这行代码有点长,对于“零”基础的人来说,还是需要些消化的时间。不用着急,还记得前面让各位记住的“绘图四步”吗,之前已经完成了第一步——准备数据。上述的这行代码则完成了剩下的三步。我们首先将准备好的数据gdp传给Altair的Chart类来完成第二步——创建图表(对应代码中的alt.Chart(gdp)),alt.Chart(gdp)会返回一个Chart对象,接下来我们调用返回的Chart对象的mark_line方法完成第三步——设置图像类型(对应代码中的alt.Chart(gdp).mark_line(point=True)),因为我们要绘制的是折线图,所以调用的是mark_line,Altair提供各种图像的绘制(散点图,热力图,地理图,直方图和条形图等),相关图像类型的都遵循mark_类型名称的调用方式,这样更方便记忆,随着学习的深入大家会有更深的感受,我们将mark_line方法的point参数设置为True,表示需要在折线图中标记出数据点,即对应图中的圆点。最后,我们再调用Chart对象的encode方法来完成第四步——对图像进行设置(对应代码中的alt.Chart(gdp).mark_line(point=True).encode( x = 'year', y = 'GDP')),在这里我们只是简单的设置了x轴和y轴的值,我们将x轴的值设置为‘year’,这里‘year’对应的是gdp中的‘year’这一列,也就是年份数据(忘记的同学,自行查看上面gdp中存放数据的结构图)。我们将y轴设置为gdp中的‘GDP’这一列,也就是各年对应的GDP值。至此,我们完成了中国年度GDP走势折线图的绘制。是不是非常方便?

到这,我们Altair可视化实战的第一篇教程的内容就结束了。本篇教程介绍了Altair的基本情况,安装方法,和编程模式。最后,通过一个具体的例子介绍了使用Altair绘图的基本流程。如果你看完并基本掌握了本次教程的所有内容,那么恭喜你,Altair的学习你已经完成了一大半。因为,使用Altair绘制其他图像也是完全按照这个步骤,只是调用的方法不一样而已。

这是笔者第一次尝试完整的写一个编程教程,水平有限,有不足之处还请大家在评论区多多指正,您的评价将是我进步最大的动力源泉。同时,有兴趣的小伙伴也可以在评论区留言,大家一起讨论,一起进步。在下一篇教程中,我们将学习Altair中很重要的图像编码和数据类型的概念,以及条形图和散点图的绘制。

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
解压密码:123 安装说明:https://blog.csdn.net/hongfu951/article/details/118517942 嵌入2021概述 Altair Activate / Compose / Embed 2021是SolidThinking强大而全面的工程套件,帮助设计师和系统工程师控制和模拟产品设计。它是一个多学科的设计和工程应用,使用基于模型的开发技术,通过独特地结合数学,基于信号,物理和3D建模技术,以推动创新的概念研究,控制设计,系统性能优化,控制器实现和测试。它是一个高效和可靠的应用程序,具有各种功能和许多方便的工具,为用户节省时间和金钱。它使产品创造者、系统仿真和控制工程师能够通过优化基于模型的开发来建模、模拟和优化多学科系统,确保所有的设计需求都被成功满足,同时还能在设计过程的早期识别系统级别的问题。该程序为计算、编辑和可视化数据以及编写脚本和故障排除脚本提供了一个用户友好的环境,这对于自动化过程和加速重复计算非常有用。您也可以下载Altair (solidThinking) Inspire Suite 2021免费下载。 2021是一个功能打包的实用程序,为工程师和结构分析师提供先进的开发模型,概念设计和生产模拟,以帮助他们实现其期望的质量。它还为基于模型的嵌入式系统开发提供了一个可视化环境,该环境可以自动地从模型的框图中生成代码,并将它们转移到控制硬件中。该程序结合了Altair Activate, Compose和Embed的力量,每个都有自己独特的目的和功能,如Altair Activate为工程师和用户提供了所有的工具,以快速地建模和模拟他们的产品。类似地,Altair Compose允许用户为复杂的等式执行不同类型的复杂而乏味的计算,并执行操作、调试脚本、编程和提供可视化数据。而Altair Embed,一个强大而先进的工具,使用户能够从框图模型等开发嵌入式系统。它将自动转换您的框图和状态图到微控制器单元(MCU)硬件就绪代码。您也可以下载Altair EDEM Professional 2021免费下载。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值