返回顶部
首页 > 资讯 > 后端开发 > Python >Python可视化模块altair的使用详解
  • 266
分享到

Python可视化模块altair的使用详解

2024-04-02 19:04:59 266人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录Altair是啥Altair初体验图表的保存Altair之进阶操作今天小编来和大家聊一下python当中的altair可视化模块,并且通过调用该模块来绘制一些常见的图表,借助Al

今天小编来和大家聊一下python当中的altair可视化模块,并且通过调用该模块来绘制一些常见的图表,借助Altair,我们可以将更多的精力和时间放在理解数据本身以及数据的意义上面,从复杂的数据可视化过程中解脱出来。

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可视化模块altair的使用详解的详细内容,更多关于Python可视化模块altair的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python可视化模块altair的使用详解

本文链接: https://lsjlt.com/news/119046.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python可视化模块altair的使用详解
    目录Altair是啥Altair初体验图表的保存Altair之进阶操作今天小编来和大家聊一下Python当中的altair可视化模块,并且通过调用该模块来绘制一些常见的图表,借助Al...
    99+
    2024-04-02
  • Python 可视化matplotlib模块怎么用
    这篇文章主要为大家展示了“Python 可视化matplotlib模块怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python 可视化matplotlib模块怎么用”...
    99+
    2023-06-21
  • pytorchtensorboard可视化的使用详解
    目录一、 安装tensorboard二、 使用tensorboard1、首先导入模块2、初始化3、记录内容4、关闭三、可视化1、打开终端写命令行2、打开浏览器打开tensorboar...
    99+
    2024-04-02
  • python的数据可视化模块有哪些
    python中的数据可视化模块有以下几种Matplotlib模块Matplotlib是一个全面的Python数据可视化库,常用于绘制二维图形,使用matplotlib可以帮助用户轻松地获得高质量的二维图形,matplotlib也可以绘制多种...
    99+
    2024-04-02
  • Python可视化matplotlib模块基础知识
    目录1. matplotlib 模块概述 2. matplotlib.pyplot 相关方法 3. matplotlib.pyplot 图表展示 前言: 互联网时代下,在网络中每天都...
    99+
    2024-04-02
  • Python数据可视化之Seaborn的使用详解
    目录1. 安装 seaborn2.准备数据3.背景与边框3.1 设置背景风格3.2 其他3.3 边框控制4. 绘制 散点图5. 绘制 折线图5.1 使用 replot()方法5.2 ...
    99+
    2024-04-02
  • Python可视化tkinter详解
    目录1、基本用法2、常用标签1、基本用法 # coding:utf-8 import tkinter as tk # 创建窗口对象 window = tk.Tk() # 设置串口标题...
    99+
    2024-04-02
  • Python数据可视化之Pyecharts使用详解
    目录1. 安装Pyecharts2. 图表基础2.1 主题风格2.2 图表标题2.3 图例2.4 提示框2.5 视觉映射2.6 工具箱2.7 区域缩放3. 柱状图 Bar模块4. 折...
    99+
    2024-04-02
  • python urllib.request模块的使用详解
    目录urllib子模块 request模块 function request.urlopen() class request.Request python的urllib模块提供了一系...
    99+
    2024-04-02
  • Python pyecharts 数据可视化模块的配置方法
    目录1. pyecharts 模块介绍2. pyecharts 模块安装3. pyecharts 配置选项3.1 全局配置选项3.2 系列配置选项4. 基础折线图的构建4.1 基本使...
    99+
    2024-04-02
  • Python数据可视化详解
    目录一、Matplotlib模块1、绘制基本图表1. 绘制柱形图2. 绘制条形图3. 绘制折线图4. 绘制面积图5. 绘制散点图6. 绘制饼图和圆环图2、图表的绘制和美化技...
    99+
    2023-05-16
    Python数据可视化 Python可视化 数据可视化
  • python用matplotlib可视化绘图详解
    目录1、Matplotlib 简介2、Matplotlib图形绘制1)折线图2)柱状图3)条形图3)饼图4)散点图5)直方图6)箱型图7)子图1、Matplotlib 简介 Matp...
    99+
    2024-04-02
  • 详解Python模块化--模块(Modules)和包(Packages)
    目录引言Python Modules模块导入模块①导入整个模块②导入模块中的特定函数③导入模块中的所有函数给导入的模块一个别名单独运行模块加速模块加载Python Packages包引用包(Package)中的模块引...
    99+
    2022-06-02
    Python Modules模块 Packages包
  • python中os模块和sys模块的使用详解
    目录一、os模块二、os模块中的os.walk()函数三、sys模块一、os模块 os.getcwd() 获取当前的工作目录 os.chdir(‘绝对路径/相对于当前工作...
    99+
    2023-03-21
    python os模块 python sys模块
  • Python利用matplotlib模块数据可视化绘制3D图
    目录前言1 matplotlib绘制3D图形2 绘制3D画面图2.1 源码2.2 效果图3 绘制散点图3.1 源码3.2 效果图4 绘制多边形4.1 源码4.2 效果图5 三个方向有...
    99+
    2024-04-02
  • 详解python代码模块化
    一、概念 1、模块化代码可以使代码易于维护和调试,并且提高代码的重用性; 2、函数可以用来减少冗余的代码并提高代码的可重用性。函数也可以用来模块化代码并提高程序的质量; 3、在pyt...
    99+
    2024-04-02
  • 【机器学习】可视化模块-seaborn详细教程
    文章目录 一、Seaborn介绍二、使用前骤1.安装2.导包 三、使用1.统计关系2.分类关系3.数据集的分布4.线性关系5. 结构化构图6.风格设置 总结 一、Seaborn介...
    99+
    2023-09-10
    机器学习 python 数据分析
  • Python中的数据可视化matplotlib与绘图库模块
    目录一、条形图bar()二、直方图三、折线图四、散点图+直线图五、饼图六、箱型图七、plot函数参数八、图像标注参数九、Matplolib应用matplotlib官方文档:https...
    99+
    2024-04-02
  • 详解Python中httptools模块的使用
    如果你用过 FastAPI 的话,那么你一定知道 uvicorn,它是一个基于 uvloop 和 httptools 实现的高性能 ASGI 服务器。 其中 uvloop 采用 Cy...
    99+
    2023-03-03
    Python httptools模块使用 Python httptools模块 Python httptools
  • Python中shutil模块的使用详解
    简介:shutil 模块提供了一系列对文件和文件集合的高阶操作。特别是提供了一些支持文件拷贝和删除的函数,该模块主要强大之处在于其对文件的复制与删除操作更是比较支持好。 主要方法: ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作