Altair是啥?
Altair被称为是统计可视化库,因为它可以通过分类汇总、数据变换、数据交互、图形复合等方式全面地认识数据、理解和分析数据,并且其安装的过程也是十分的简单,直接通过pip命令来执行,如下:
pip install altair pip install vega_datasets pip install altair_viewer
如果使用的是conda包管理器来安装Altair模块的话,代码如下:
conda install -c conda-forge altair vega_datasets
Altair初体验
我们先简单地来尝试绘制一个直方图,首先创建一个DataFrame数据集,代码如下:
df = pd.DataFrame({"brand":["iPhone","Xiaomi","HuaWei","Vivo"], "profit(B)":[200,55,88,60]})
接下来便是绘制直方图的代码:
import altair as alt import pandas as pd import altair_viewer chart = alt.Chart(df).mark_bar().encode(x="brand:N",y="profit(B):Q") # 展示数据,调用display()方法 altair_viewer.display(chart,inline=True)
output
从整个的语法结构来看,首先使用alt.Chart()指定使用的数据集,然后使用实例方法mark_*()绘图图表的样式,最后指定X轴和Y轴所代表的数据,可能大家会感到好奇,当中的N以及Q分别代表的是什么,这个是变量类型的缩写形式,换句话说,Altair模块需要了解绘制图形所涉及的变量类型,只有这样,绘制的图形才是我们期望的效果。
其中的N代表的是名义型的变量(Nominal),例如手机的品牌都是一个个专有名词,而Q代表的是数值型变量(Quantitative),可以分为离散型数据(discrete)和连续型数据(continuous),除此之外还有时间序列型数据,缩写是T以及次序型变量(O),例如在网购过程当中的对商家的评级有1-5个星级。
图表的保存
最后的图表的保存,我们可以直接调用save()方法来保存,将对象保存成HTML文件,代码如下:
chart.save("chart.html")
也可以保存成JSON文件,从代码上来看十分的相类似。
chart.save("chart.json")
当然我们也能够保存成图片格式的文件,如下图所示:
Altair之进阶操作
我们在上面的基础之上,进一步的衍生和拓展,例如我们想要绘制一张水平方向的条形图,X轴和Y轴的数据互换,代码如下:
chart = alt.Chart(df).mark_bar().encode(x="profit(B):Q", y="brand:N") chart.save("chart1.html")
output
同时我们也来尝试绘制一张折线图,调用的是mark_line()方法代码如下:
## 创建一组新的数据,以日期为行索引值 np.random.seed(29) value = np.random.randn(365) data = np.cumsum(value) date = pd.date_range(start="20220101", end="20221231") df = pd.DataFrame({"num": data}, index=date) line_chart = alt.Chart(df.reset_index()).mark_line().encode(x="index:T", y="num:Q") line_chart.save("chart2.html")
output
我们还可以来绘制一张甘特图,通常在项目管理上面用到的比较多,X轴添加的是时间日期,而Y轴上表示的则是项目的进展,代码如下:
project = [{"project": "Proj1", "start_time": "2022-01-16", "end_time": "2022-03-20"}, {"project": "Proj2", "start_time": "2022-04-12", "end_time": "2022-11-20"}, ...... ] df = alt.Data(values=project) chart = alt.Chart(df).mark_bar().encode( alt.X("start_time:T", axis=alt.Axis(format="%x", formatType="time", tickCount=3), scale=alt.Scale(domain=[alt.DateTime(year=2022, month=1, date=1), alt.DateTime(year=2022, month=12, date=1)])), alt.X2("end_time:T"), alt.Y("project:N", axis=alt.Axis(labelAlign="left", labelFontSize=15, labelOffset=0, labelPadding=50)), color=alt.Color("project:N", legend=alt.Legend(labelFontSize=12, symbolOpacity=0.7, titleFontSize=15))) chart.save("chart_gantt.html")
output
从上图中我们看到团队当中正在做的几个项目,每个项目的进展程度不同,当然了,不同项目的时间跨度也不尽相同,表现在图表上面的话就显得十分的直观了。
紧接着,我们再来绘制散点图,调用的是mark_circle()方法,代码如下:
df = data.cars() ## 筛选出地区是“USA”也就是美国的乘用车数据 df_1 = alt.Chart(df).transform_filter( alt.datum.Origin == "USA" ) df = data.cars() df_1 = alt.Chart(df).transform_filter( alt.datum.Origin == "USA" ) chart = df_1.mark_circle().encode( alt.X("Horsepower:Q"), alt.Y("Miles_per_Gallon:Q") ) chart.save("chart_dots.html")
output
当然我们可以将其进一步的优化,让图表显得更加美观一些,添加一些颜色上去,代码如下:
chart = df_1.mark_circle(color=alt.RadialGradient("radial",[alt.GradientStop("white", 0.0), alt.GradientStop("red", 1.0)]), size=160).encode( alt.X("Horsepower:Q", scale=alt.Scale(zero=False,padding=20)), alt.Y("Miles_per_Gallon:Q", scale=alt.Scale(zero=False,padding=20)) )
output
我们更改散点的大小,不同散点的大小代表着不同的值,代码如下:
chart = df_1.mark_circle(color=alt.RadialGradient("radial",[alt.GradientStop("white", 0.0), alt.GradientStop("red", 1.0)]), size=160).encode( alt.X("Horsepower:Q", scale=alt.Scale(zero=False, padding=20)), alt.Y("Miles_per_Gallon:Q", scale=alt.Scale(zero=False, padding=20)), size="Acceleration:Q" )
output
以上是分享一个口碑炸裂的Python可视化模块,简单快速入手!!的详细内容。更多信息请关注PHP中文网其他相关文章!

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

选择Python还是C 取决于项目需求:1)如果需要快速开发、数据处理和原型设计,选择Python;2)如果需要高性能、低延迟和接近硬件的控制,选择C 。

通过每天投入2小时的Python学习,可以有效提升编程技能。1.学习新知识:阅读文档或观看教程。2.实践:编写代码和完成练习。3.复习:巩固所学内容。4.项目实践:应用所学于实际项目中。这样的结构化学习计划能帮助你系统掌握Python并实现职业目标。

在两小时内高效学习Python的方法包括:1.回顾基础知识,确保熟悉Python的安装和基本语法;2.理解Python的核心概念,如变量、列表、函数等;3.通过使用示例掌握基本和高级用法;4.学习常见错误与调试技巧;5.应用性能优化与最佳实践,如使用列表推导式和遵循PEP8风格指南。

Python适合初学者和数据科学,C 适用于系统编程和游戏开发。1.Python简洁易用,适用于数据科学和Web开发。2.C 提供高性能和控制力,适用于游戏开发和系统编程。选择应基于项目需求和个人兴趣。

Python更适合数据科学和快速开发,C 更适合高性能和系统编程。1.Python语法简洁,易于学习,适用于数据处理和科学计算。2.C 语法复杂,但性能优越,常用于游戏开发和系统编程。

每天投入两小时学习Python是可行的。1.学习新知识:用一小时学习新概念,如列表和字典。2.实践和练习:用一小时进行编程练习,如编写小程序。通过合理规划和坚持不懈,你可以在短时间内掌握Python的核心概念。

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。