使用 Plotly 在 Python 中填充区域图
Plotly 是 Python 中的一个库,在绘制各种图形和图表方面非常有用。它是一个交互式可视化库,用于创建高质量的出版物图形。可以使用 Plotly 可视化的一些图形和图表包括折线图、散点图、区域图、条形图、误差条、箱线图、直方图、热图、子图、多轴、极坐标图和气泡图。
填充区域图
填充区域图是 Plotly 中一个增强的模块,它分析各种数据并生成易于阅读的用户友好型图形。填充区域与特定值相协调,该值对应于由 line_group 参数给出的特定列。
数据框
对于绘图,您需要一个具有属性(列名)的数据框,该数据框通常使用 pandas 对象和 numpy 创建,或者模块本身提供某些内置数据集,如下所述:
carshare
election
Gapminder
iris
tips
Wind
它们每个都有 ai
参数
x,y - 指的是数据框中列的名称。x 和 y 的值沿着它们在笛卡尔坐标系中的位置标记。
颜色 - 指的是数据框中列的名称。此列的值用于为标记的位置分配颜色。
示例 1
让我们通过绘制强度与频率的关系图(方向作为颜色)来可视化 wind 数据集。以下代码打印数据集及其属性、行数和列数。
算法
步骤 1 - 导入 plotly.express 为 px
步骤 2 - 从 wind 数据集中创建数据框对象。
步骤 3 - 绘制数据框的区域图,参数 x 为强度,y 为频率,颜色为方向。
步骤 4 - 显示区域图。
import plotly.express as px df = px.data.wind() fig = px.area(df, x="strength", y="frequency", color="direction",) fig.show()
输出

示例 2
以下代码通过可视化 gapminder 数据集并绘制 lifeExp 与 year 的关系图(以 continent 为颜色)来打印数据集及其属性、行数和列数。
算法
步骤 1 - 导入 plotly.express 为 px
步骤 2 - 从 gapminder 数据集中创建数据框对象。
步骤 3 - 绘制数据框的区域图,参数 x 为 year,y 为 lifeExp,颜色为 continent。
步骤 4 - 显示区域图。
import plotly.express as px df = px.data.gapminder() fig = px.area(df, x="year", y="lifeExp", color="continent") fig.show()
输出

示例 3
以下代码打印使用 random.randint 函数生成随机数创建的数据集,以及其属性、行数和列数。
算法
步骤 1 - 导入 plotly.express 为 px
步骤 2 - 使用使用 randint 函数生成的数据集创建数据框对象。
步骤 3 - 绘制数据框的区域图,参数 x 为 year,y 为 lifeExp,颜色为 continent。
步骤 4 - 显示区域图。
import plotly.express as px import numpy as np # creating random data through randomint # function of numpy.random np.random.seed(50) random_x= np.random.randint(1,100,50) random_y= np.random.randint(1,100,50) print(random_x) print(random_y) fig = px.area(x = random_x, y = random_y) fig.show() print(random_x) print(random_y)
输出
[49 97 12 34 95 5 71 71 23 6 3 96 72 69 79 36 93 92 27 91 7 21 44 32 50 86 42 65 7 20 3 80 31 36 27 61 67 77 97 68 3 11 52 1 94 94 95 1 12 31] [27 72 52 29 25 92 47 63 14 72 37 1 59 44 65 20 59 46 84 2 62 10 30 53 44 88 33 20 48 70 93 7 66 37 85 37 45 54 79 5 87 44 20 97 38 31 63 45 44 36]
结论
Plotly 库可视化的区域主要有两种变化,即堆叠区域和非堆叠区域。基本区域被放大以显示大量值。但是,堆叠区域图被认为是条形图或图表中数据表示的最佳方式之一。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP