Loading... 在数据分析过程中,**数据可视化**是一项重要的技能,能够帮助我们快速理解数据的分布、趋势和关系。而 **Plotly Express** 是 **Plotly** 库的一部分,提供了创建交互式图表的简单而强大的工具。它结合了简单的 API 和高度可定制的功能,使用户能够快速创建交互式、专业的可视化图表。本文将详细介绍如何使用 **Plotly Express** 快速创建交互式图表,并为每一个步骤提供清晰的代码和解释。 ## 📊 什么是 Plotly Express? **Plotly Express** 是一个用于**快速创建交互式图表**的库。它基于 **Plotly**,允许用户通过非常简单的代码就能绘制出具有交互功能的精美图表,适用于数据探索和展示。它支持多种类型的图表,包括散点图、柱状图、线图、直方图等。 ### 🌟 Plotly Express 的主要优势 - **简单快捷**:使用很少的代码就能生成丰富的交互式图表。 - **支持多种数据格式**:可以直接从 **Pandas** DataFrame 进行可视化。 - **高度交互**:生成的图表可以实现**缩放**、**悬浮显示数据**、**拖拽**等交互功能。 ## 📌 安装和导入 Plotly Express 在开始之前,首先需要安装 **Plotly**: ```sh pip install plotly ``` **解释**: - 使用 **pip** 安装 Plotly,可以直接在命令行运行上述命令,确保在 Python 环境中可以使用 Plotly Express。 接下来,我们导入 **plotly.express** 作为 **px**,这样可以简化代码书写: ```python import plotly.express as px import pandas as pd ``` **解释**: - **`import plotly.express as px`**:将 Plotly Express 导入为 `px`,方便后续使用。 - **`import pandas as pd`**:导入 Pandas,通常我们会从 Pandas 的 DataFrame 中提取数据进行可视化。 ## 📊 快速创建交互式图表 ### 1. 创建散点图 **散点图**是数据可视化中最常用的图表之一,用于观察变量之间的关系。例如,使用内置的 `gapminder` 数据集创建一个**人口与 GDP 的散点图**。 ```python df = px.data.gapminder() fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent", size="pop", hover_name="country", log_x=True, title="GDP 与人均寿命关系", labels={"gdpPercap": "人均 GDP", "lifeExp": "预期寿命"}) fig.show() ``` **解释**: - **`df = px.data.gapminder()`**:从 Plotly Express 获取内置的 `gapminder` 数据集。 - **`px.scatter()`**:创建散点图。 - **`x="gdpPercap"`**:横坐标是人均 GDP。 - **`y="lifeExp"`**:纵坐标是预期寿命。 - **`color="continent"`**:不同的洲使用不同的颜色。 - **`size="pop"`**:点的大小根据国家的人口变化。 - **`hover_name="country"`**:鼠标悬停时显示国家名称。 - **`log_x=True`**:对 x 轴使用对数缩放,以更好地显示 GDP 数据。 - **`title="GDP 与人均寿命关系"`**:设置图表的标题。 - **`labels`**:设置轴标签。 **交互功能**: - 图表支持**鼠标悬停**以查看详细数据、**缩放**和**拖拽**。 ### 2. 创建柱状图 柱状图适合展示**分类数据**之间的对比。以下示例创建了一个显示各洲人口的柱状图。 ```python df = px.data.gapminder().query("year == 2007") fig = px.bar(df, x="continent", y="pop", color="continent", title="2007 年各洲人口统计", labels={"pop": "人口", "continent": "洲"}) fig.show() ``` **解释**: - **`query("year == 2007")`**:筛选出 `2007` 年的数据。 - **`px.bar()`**:创建柱状图。 - **`x="continent"`** 和 **`y="pop"`**:分别表示 x 轴和 y 轴的字段。 - **`color="continent"`**:使用不同颜色区分不同洲。 - **`title`**:设置图表标题。 ### 3. 创建折线图 折线图可以展示数据随时间的变化趋势。下方代码创建了一个显示**加拿大人口变化**的折线图。 ```python canada = df[df["country"] == "Canada"] fig = px.line(canada, x="year", y="pop", title="加拿大人口随年份的变化趋势", labels={"pop": "人口", "year": "年份"}) fig.show() ``` **解释**: - **`df[df["country"] == "Canada"]`**:选择 `country` 字段等于 "Canada" 的数据。 - **`px.line()`**:创建折线图。 - **`x="year"`**:年份作为横轴。 - **`y="pop"`**:人口数量作为纵轴。 - **`title`**:设置图表标题。 ### 4. 创建直方图 直方图用于查看**数据分布情况**。以下代码生成一个 **2007 年预期寿命的分布直方图**。 ```python fig = px.histogram(df, x="lifeExp", title="2007 年各国预期寿命分布", labels={"lifeExp": "预期寿命"}) fig.show() ``` **解释**: - **`px.histogram()`**:创建直方图。 - **`x="lifeExp"`**:显示预期寿命的分布情况。 - **`title`**:设置图表标题。 ### 🌍 地理可视化 Plotly Express 还可以用来绘制地理图表,例如 **世界地图上的数据分布**。 ```python fig = px.choropleth(df, locations="iso_alpha", color="lifeExp", hover_name="country", color_continuous_scale=px.colors.sequential.Plasma, title="2007 年各国预期寿命地理分布") fig.show() ``` **解释**: - **`px.choropleth()`**:绘制地理分布图。 - **`locations="iso_alpha"`**:根据 `iso_alpha` 字段标识国家。 - **`color="lifeExp"`**:用颜色表示预期寿命。 - **`hover_name="country"`**:鼠标悬停时显示国家名称。 - **`color_continuous_scale`**:设置颜色的渐变样式。 ### 🛠️ 工作流程总结 使用 **Plotly Express** 创建交互式图表的工作流程可以总结为以下几个步骤: 1. **导入库和数据**:引入 `plotly.express` 和 `pandas`,并获取或导入数据。 2. **选择图表类型**:根据数据特点选择合适的图表类型(如散点图、柱状图、折线图等)。 3. **指定参数**:通过 `px` 的函数提供数据列的映射(如 x 轴、y 轴、颜色等),并设置标题和标签。 4. **显示图表**:使用 `fig.show()` 显示生成的交互式图表。 ### 📊 Plotly Express 图表类型脑图 ```mermaid graph TD A[Plotly Express 图表类型] --> B[散点图] A --> C[柱状图] A --> D[折线图] A --> E[直方图] A --> F[地理分布图] B --> G[展示数据关系] C --> H[分类数据对比] D --> I[时间序列变化] E --> J[数据分布] F --> K[全球数据展示] ``` ## 🚀 总结 **Plotly Express** 提供了创建交互式数据可视化图表的快捷方法。它通过简单的语法和丰富的功能,使得数据科学家和开发人员能够快速生成高质量的图表,并在其中与数据进行交互。无论是用来探索数据还是创建交互式报表,Plotly Express 都能大大提高工作效率。 ### Plotly Express 的优点: - **简单而强大**:通过少量代码生成功能丰富的图表。 - **支持多种图表类型**:包括散点图、柱状图、折线图、直方图和地理图等。 - **高度交互性**:每个图表支持**缩放**、**悬浮显示详细信息**等操作。 在数据可视化中,选择合适的工具可以极大地简化工作流程。对于想要快速生成交互式图表的人来说,**Plotly Express** 是一个不容错过的选择。 最后修改:2024 年 10 月 23 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏