介绍子图创建是 python 库 plotly 提供的几种数据可视化工具之一。一个大的叙述可以通过次要情节分解成多个较小的叙述。有时,为了赋予主要故事更大的深度和一致性,可能有必要为每个次要情节赋予自己的标题。
语法通过使用subplot_titles参数,我们可以在绘图网格中自定义子图标题。make_subplots()函数实际上是一个工厂方法,允许我们建立一个具有指定行数和列数的绘图网格。让我们深入了解一些我们可以通过make_subplots()操作的关键参数 -
rows − 此参数指定绘图网格中的行数。
cols - 此参数指定绘图网格中的列数。
specs - 一个数组数组,用于描述网格中每个子图的类型。 specs 数组中的每个元素应包含两个值:子图分别跨越的行数和列数,以及子图类型。
subplot_titles − 一个字符串数组,用于显示网格中每个子图的标题。此数组的大小应等于网格中子图的数量。
在下面的代码中,我们将以这种方式进行操作,以便为每个子图设置一个独特的标题 -
fig = make_subplots(rows=1, cols=3, subplot_titles=(subplot 1, subplot 2, subplot 3))
example的中文翻译为:示例在编写实际代码之前,请了解其算法。
导入必要的模块 - plotly.graph_objs 和 plotly.subplots 以及 numpy。
使用numpy创建一些数据以进行绘图。
使用make_subplots函数创建一个包含1行3列的子图网格。通过传递subplot_titles参数为每个子图设置独特的标题。
使用 add_trace 方法向每个子图添加跟踪。对于每个子图,传递一个包含要绘制的数据的 go.scatter 对象和一个用于标记数据的名称参数。
使用 update_layout 方法为整个图表分配一个标题。
使用 update_xaxes 和 update_yaxes 方法为每个子图的 x 轴和 y 轴分配唯一的标题。
使用 show 方法显示绘图。
import plotly.graph_objs as gofrom plotly.subplots import make_subplotsimport numpy as np# create datax = np.linspace(0, 10, 100)y1 = np.sin(x)y2 = np.cos(x)y3 = np.tan(x)# create subplotsfig = make_subplots(rows=1, cols=3, subplot_titles=(sin(x), cos(x),tan(x)))# add tracesfig.add_trace(go.scatter(x=x, y=y1, name='sin(x)'), row=1, col=1)fig.add_trace(go.scatter(x=x, y=y2, name='cos(x)'), row=1, col=2)fig.add_trace(go.scatter(x=x, y=y3, name='tan(x)'), row=1, col=3)# assign unique titles to each subplotfig.update_layout(title_text=trigonometric functions)fig.update_xaxes(title_text=x-axis for sin wave, row=1, col=1)fig.update_xaxes(title_text=x-axis for cos wave, row=1, col=2)fig.update_xaxes(title_text=x-axis tan wave, row=1, col=3)fig.update_yaxes(title_text=y-axis for sin wave, row=1, col=1)fig.update_yaxes(title_text=y-axis for cos wave, row=1, col=2)fig.update_yaxes(title_text=y-axis tan wave, row=1, col=3)# display the plotfig.show()
首先导入plotly.graph objs和plotly.subplots,因为这些是必需的库。为了创建一些示例数据,我们还导入了 numpy 库。
然后使用 numpy 库创建一些示例数据。数组 x 的 sin、cos 和 tan 函数由我们生成的三个数组 y1、y2 和 y3 表示。接下来,我们使用 make subplots() 方法生成一个一行三列的子图网格。
subplot titles选项还附带一个包含三个字符串值sin(x), cos(x),和tan(x)的数组。每个网格子图的标题由此确定。
使用add trace()函数,在创建子图网格后,为每个子图添加一个追踪。对于y1、y2和y3三个数组,分别添加了散点追踪。对于这三个追踪,我们还分别提供了name参数为sin(x)、cos(x)和tan(x)。通过利用add trace()方法的row和col参数,我们可以为每个追踪定义子图。
然后使用 update layout() 方法将绘图的总标题更改为“三角函数”。
现在使用 update xaxes() 和 update yaxes() 方法为每个子图设置 x 轴和 y 轴标题,为每个子图指定一个特殊标题。为了指示我们希望更新的子图,我们提供 row 和 col 参数。我们还传递标题文本参数来设置 x 轴或 y 轴的标题。
最终使用 show() 方法显示绘图。
结论plotly的make subplots()函数提供了一种实用的方法来创建一个子图网格。通过使用子图标题参数,网格中的每个子图可以有不同的标题。除此之外,update xaxes()和update yaxes()例程允许我们为每个子图更改x轴和y轴的名称。
以上就是如何在python的plotly中为每个不同的子图应用不同的标题?的详细内容。