- Plotly教程
- 阴谋 - 主页
- Plotly - 简介
- Plotly - 环境设置
- Plotly - 在线和离线绘图
- 使用 Jupyter Notebook 内联绘图
- Plotly - 包结构
- Plotly - 导出到静态图像
- Plotly - 传奇
- Plotly - 设置轴和刻度的格式
- Plotly - 子图和插图
- Plotly - 条形图和饼图
- Plotly - 散点图、Scattergl 图和气泡图
- Plotly - 点图和表格
- Plotly - 直方图
- Plotly - 箱线图小提琴图和等高线图
- Plotly - 分布图、密度图和误差条图
- Plotly - 热图
- Plotly - 极坐标图和雷达图
- Plotly - OHLC 图表瀑布图和漏斗图
- Plotly - 3D 散点图和曲面图
- Plotly - 添加按钮/下拉菜单
- Plotly - 滑块控制
- Plotly -FigureWidget 类
- 与pandas和袖扣密谋
- 使用 Matplotlib 和 Chart Studio 绘图
- 非常有用的资源
- Plotly - 快速指南
- Plotly - 有用的资源
- Plotly - 讨论
OHLC 图、瀑布图和漏斗图
本章重点介绍其他三种类型的图表,包括 OHLC、瀑布图和漏斗图,这些图表可以借助 Plotly 制作。
OHLC 图表
开盘价-最高价-最低价-收盘图(也称为 OHLC)是一种条形图,通常用于说明股票等金融工具的价格变动。OHLC 图表很有用,因为它们显示了一段时间内的四个主要数据点。图表类型很有用,因为它可以显示增加或减少的动量。高点和低点数据对于评估波动性很有用。
图表上的每条垂直线显示一个时间单位(例如天或小时)内的价格范围(最高和最低价格)。刻度线从线的每一侧突出,指示左侧的开盘价(例如,对于每日条形图,这将是当天的起始价),以及右侧该时间段的收盘价。
用于演示 OHLC 图的示例数据如下所示。它具有与相应日期字符串上的最高价、最低价、开盘价和收盘价相对应的列表对象。使用 datetime 模块中的strtp()函数将字符串的日期表示形式转换为日期对象。
open_data = [33.0, 33.3, 33.5, 33.0, 34.1] high_data = [33.1, 33.3, 33.6, 33.2, 34.8] low_data = [32.7, 32.7, 32.8, 32.6, 32.8] close_data = [33.0, 32.9, 33.3, 33.1, 33.1] date_data = ['10-10-2013', '11-10-2013', '12-10-2013','01-10-2014','02-10-2014'] import datetime dates = [ datetime.datetime.strptime(date_str, '%m-%d-%Y').date() for date_str in date_data ]
我们必须使用上面的日期对象作为 x 参数,并使用其他参数作为返回 OHLC 跟踪的go.Ohlc()函数所需的开盘价、最高价、最低价和收盘价参数。
trace = go.Ohlc( x = dates, open = open_data, high = high_data, low = low_data, close = close_data ) data = [trace] fig = go.Figure(data = data) iplot(fig)
代码的输出如下 -
烛台图
蜡烛图与 OHLC 图表类似。它就像折线图和条形图的组合。方框代表开盘价和收盘价之间的价差,线条代表低值和高值之间的价差。收盘价高于(低于)开盘价的样本点称为递增(递减)。
Candlestrict 轨迹由go.Candlestick() 函数返回。我们使用相同的数据(与 OHLC 图表相同)来渲染烛台图,如下所示 -
trace = go.Candlestick( x = dates, open = open_data, high = high_data, low = low_data, close = close_data )
上述给定代码的输出如下 -
瀑布图
瀑布图(也称为飞砖图或马里奥图)有助于理解顺序引入的正值或负值的累积效应,这些值可以基于时间或基于类别。
初始值和最终值显示为列,其中单独的负调整和正调整描绘为浮动步骤。一些瀑布图将列之间的线连接起来,使图表看起来像一座桥。
go.Waterfall()函数返回瀑布跟踪。该对象可以通过各种命名参数或属性进行定制。这里,x 和 y 属性设置图形的 x 和 y 坐标的数据。两者都可以是 Python 列表、numpy 数组或 Pandas 系列或字符串或日期时间对象。
另一个属性是measure,它是一个包含值类型的数组。默认情况下,这些值被视为相对的。将其设置为“总计”以计算总和。如果它等于绝对值,它将重置计算的总数或在需要时声明初始值。'base' 属性设置绘制条形基部的位置(以位置轴单位)。
以下代码呈现瀑布图 -
s1=[ "Sales", "Consulting", "Net revenue", "Purchases", "Other expenses", "Profit before tax" ] s2 = [60, 80, 0, -40, -20, 0] trace = go.Waterfall( x = s1, y = s2, base = 200, measure = [ "relative", "relative", "total", "relative", "relative", "total" ] ) data = [trace] fig = go.Figure(data = data) iplot(fig)
下面提到的输出是上面给出的代码的结果。
漏斗图
漏斗图表示业务流程不同阶段的数据。它是商业智能中识别流程潜在问题区域的重要机制。漏斗图用于可视化数据从一个阶段传递到另一阶段时如何逐渐减少。每个阶段的数据都表示为 100%(整体)的不同部分。
与饼图一样,漏斗图也不使用任何轴。它也可以被视为类似于堆叠百分比条形图。任何漏斗都由称为头部(或基部)的较高部分和称为颈部的较低部分组成。漏斗图最常见的用途是可视化销售转化数据。
Plotly 的go.Funnel()函数生成漏斗跟踪。要提供给此函数的基本属性是 x 和y。它们中的每一个都被分配了一个 Python 项目列表或一个数组。
from plotly import graph_objects as go fig = go.Figure( go.Funnel( y = [ "Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent" ], x = [39, 27.4, 20.6, 11, 2] ) ) fig.show()
输出如下 -