如何使用Python 绘制惊艳众人的瀑布图

本文介绍了如何使用Python的Plotly和Matplotlib库绘制瀑布图,强调了瀑布图在数据分析和财务分析中的应用。通过示例展示了如何设置不同参数,包括颜色、连接线和字体,以创建更具视觉吸引力的图表。
摘要由CSDN通过智能技术生成

前言

在日常生活中,我们的工作有时候需要对数据进行可视化,让它一图标之类的呈现出来。图给人的感觉是最直观的,并且能够一眼就看到数据。

今天我们一起了解瀑布图的重要性,以及如何使用不同的绘图库(如 Matplotlib、Plotly)绘制瀑布图。
瀑布图是一种二维图表,专门用于了解随着时间或多个步骤或变量的增量正负变化的影响。瀑布图也称为浮砖图、飞砖图。

在这里插入图片描述

瀑布图

瀑布图经常用于财务分析,以了解多种因素对特定对象的正面和负面影响。该图表可以显示基于时间或基于类别的效果。基于类别的图表表示费用或销售额的收益或损失或具有顺序正值和负值的任何其他变量。基于时间的图表表示一段时间内的收益或损失。

瀑布图大多采用水平方式。它们从水平轴开始,由一系列与负面或正面评论相关的浮动列连接。有时,条形图与图表中的线条相连。

瀑布图使用条件

让我们举个例子来了解何时何地使用瀑布图,因为制作瀑布图不是什么大问题。我们将使用一些虚拟数据和 Kaggle 数据集来构建瀑布图。

举个例子

试想下,一个普通的数据表,和一个惊艳的瀑布图,哪个更方便阅读?

这张表代表了整个一周的销售数据,使用 seaborn 库创建了热图*background_gradient

Python学习交流Q群:906715085###
import seaborn as sns*
#data
a = ['mon','tue','wen','thu','fri','sat','sun']
b = [10,-30,-7.5,-25,95,-7,45]
df2 = pd.DataFrame(b,a).reset_index().rename(columns={
   'index':'values',0:'week'})
#table
cm = sns.light_palette("green", as_cmap=True)
df2.style.background_gradient(cmap=cm)

在这里插入图片描述

将格式化的表单数据和瀑布图放在一起查看。

在这里插入图片描述

该表按顺序显示了值的重要性,但读取这些值非常困难。相反,我们可以很容易地看到,按x轴正方向的连贯性顺序显示数据,并且黄色条显示减量,红色条显示增量。

在这里插入图片描述

Plotly 绘制瀑布图

我们将要使用的数据取自Netflix 电影和电视节目的Kaggle数据。

我们将使用一个开源图表库 Plotly绘制。

导入库
import plotly.graph_objects as go
数据集
df = pd.read_csv(r'D:/netflix_titles.csv')
添加年和月并转换为正确的日期时间格式
df["date_adding"] = pd.to_datetime(df['date_ added'])
df['year_addition'] = df['date_ added'].dt.year
df['month_ added'] = df['date_addition'].dt.month
df.head(3)
准备数据
2 = df[df["type"] == "Movie"]
col = "year_added"
vc2 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 你可以使用 Python 中的 Matplotlib 库来绘制瀑布图。下面是一个简单的示例代码: ```python import numpy as np import matplotlib.pyplot as plt # 生成数据 x = np.arange(1, 6) y1 = np.array([10, 13, 5, 7, 9]) y2 = np.array([2, 6, 12, 3, 8]) y3 = np.array([7, 11, 4, 9, 1]) # 绘制瀑布图 fig, ax = plt.subplots() ax.bar(x, y1, color='tab:green') ax.bar(x, y2, color='tab:blue', bottom=y1) ax.bar(x, -y3, color='tab:red', bottom=y2+y1) # 设定标题和标签 plt.title('Waterfall Plot') plt.xlabel('X Axis') plt.ylabel('Y Axis') plt.show() ``` 该代码将生成一个瀑布图,其中绿色条形表示起始值,蓝色条形表示增加的值,红色条形表示减少的值。 你可以根据自己的数据和需求修改代码以生成你需要的瀑布图。 ### 回答2: 要使用Python绘制瀑布,我们可以使用Matplotlib库中的plot函数。首先,我们需要导入Matplotlib库和Numpy库。 接下来,我们可以定义x和y轴的数据。x轴可以表示时间或者其他连续的变量,而y轴表示瀑布的高度。 然后,我们可以使用plot函数绘制瀑布。需要注意的是,瀑布通常由一条水平线和垂直的线段组成。我们可以使用plot函数的'-'参数来绘制水平线段,使用'|'参数来绘制垂直线段。可以通过调整参数来控制线段的粗细和颜色。 最后,我们可以添加标题、x轴和y轴标签,以及图例等,以使瀑布图更具可读性和美观性。 绘制瀑布的Python代码示例如下: import matplotlib.pyplot as plt import numpy as np # 定义x和y轴数据 x = np.linspace(0, 10, 100) # 假设x轴代表时间,范围为0到10 y = np.sin(x) # 假设y轴代表瀑布的高度,使用sin函数生成数据 # 绘制瀑布 plt.plot(x, y, '-') # 绘制水平线段 plt.plot(x, np.zeros_like(x), '|') # 绘制垂直线段 # 添加标题、x轴和y轴标签等 plt.title('Waterfall Plot') # 添加标题 plt.xlabel('Time') # 添加x轴标签 plt.ylabel('Height') # 添加y轴标签 plt.show() # 显示瀑布图 通过上述代码,我们可以用Python绘制一个简单的瀑布图,并通过Matplotlib库的其他函数来进一步优化瀑布图的展示效果。 ### 回答3: 使用Python绘制瀑布可以基于Python的绘图库Matplotlib和NumPy实现。以下是一个简单的示例代码: ```python import numpy as np import matplotlib.pyplot as plt # 创建瀑布图数据 x = np.linspace(0, 10, 100) y = np.linspace(0, 10, 100) X, Y = np.meshgrid(x, y) Z = np.sin(X) + np.cos(Y) # 绘制瀑布图 fig = plt.figure(figsize=(8, 6)) ax = fig.gca(projection='3d') ax.plot_surface(X, Y, Z, cmap='coolwarm') # 设置坐标轴标签 ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') # 设置图标题 plt.title('Waterfall Plot') plt.show() ``` 首先,我们导入所需的库。然后,创建瀑布图所需的数据,这里我们使用NumPy库生成一个二维网格和对应的数据。接下来,使用Matplotlib库创建一个3D图形对象,设置图形的参数,然后使用`plot_surface`函数绘制瀑布图。最后,设置图形的坐标轴标签和标题,并展示图形。 运行以上代码,就可以使用Python绘制出一个简单的瀑布图。你可以根据自己的需求调整数据和图形的参数,来得到更加逼真和复杂的瀑布图
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值