Plotly 线形图

Ammar Ali 2024年2月15日
Plotly 线形图

本教程将讨论在 Python 中使用 Plotly 的 line() 函数创建折线图。

在 Python 中使用 Plotly 的 line() 函数创建折线图

线图通过连接所有数据点将数据点表示为连续线。

我们可以使用 Plotly 的 line() 函数来创建给定数据的折线图。要创建折线图,我们必须在 line() 函数内传递数据框或 x 和 y 轴值。

例如,让我们创建一些随机数据的简单折线图。请参阅下面的代码。

import plotly.express as px

values = [[3, 4, 3, 5], [2, 3, 2, 4]]
labels = ["a", "b", "c", "d"]
fig = px.line(x=labels, y=values, width=500, height=400)
fig.show()

输出:

简单的折线图

我们使用宽度和高度参数来设置直方图的宽度和高度。数据有两行;这就是为什么有两条线。

我们可以使用 color 参数为每​​一行赋予与默认颜色序列不同的颜色。我们还可以使用 line_dash 参数为每​​一行赋予不同的样式。

要将折线图转换为在每个子图中包含一条线的一组子图,我们可以将 facet_row 用于行,将 facet_col 用于列,并将其值设置为整数或字符串的列表,用于设置子图的名称。

我们可以使用 facet_row_spacingfacet_col_spacing 参数更改每个子图之间的间距,并将其值设置为从 0 到 1 的浮点数。我们还可以使用 log_xlog_y 参数将坐标轴改为对数比例。

我们可以使用 title 参数给直方图一个标题。使用 symbol 参数,我们可以给每个数据点一个来自默认符号序列的符号。我们可以使用 text 参数给每个符号一个文本。

例如,让我们更改上面提到的属性。请参阅下面的代码。

import plotly.express as px

df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(
    df,
    x="year",
    y="lifeExp",
    color="country",
    width=600,
    height=400,
    line_dash="country",
    facet_col="country",
    title="Line Chart",
    symbol="country",
)
fig.show()

输出:

改变折线图的属性

我们可以使用 color_discrete_sequenceline_dash_sequence 参数更改默认颜色和图案序列。我们可以将颜色序列设置为 Plotly 支持的颜色序列,如 Dark24Light24

我们还可以使用 line_dash_sequence 参数更改每条线的线条样式,并将其设置为有效的 Plotly 支持的线条样式,如实线、点、破折号、longdashdashdotlongdashdot

例如,让我们改变上面折线图的颜色和样式顺序。请参阅下面的代码。

import plotly.express as px

df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(
    df,
    x="year",
    y="lifeExp",
    width=600,
    height=400,
    color="country",
    color_discrete_sequence=px.colors.qualitative.Light24,
    line_dash_sequence=["longdashdot", "dash"],
)
fig.show()

输出:

改变折线图的颜色和样式顺序

除了使用颜色序列,我们还可以使用 color_discrete_map 参数为每​​一行赋予任何颜色。此参数用于覆盖默认颜色。

如果我们只改变几个线条颜色,其余的将从颜色序列中分配。例如,让我们将第一行颜色更改为黑色,将第二行颜色更改为黄色。

请参阅下面的代码。

import plotly.express as px

df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(
    df,
    x="year",
    y="lifeExp",
    width=600,
    height=400,
    color="country",
    color_discrete_map={"Australia": "black", "New Zealand": "yellow"},
)
fig.show()

输出:

改变折线图中线条的颜色

我们还可以使用 error_xerror_y 参数在行中添加错误栏。我们可以使用 line() 函数跟踪来更改线图的许多其他属性。

例如,我们可以使用 showlegend 参数隐藏图例并设置其 false 值。我们可以使用 opacity 参数设置折线图中线条的不透明度,并将其值设置为 0 到 1。

例如,让我们改变上面提到的痕迹。请参阅下面的代码。

import plotly.express as px

df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(df, x="year", y="lifeExp", width=600, height=400, color="country")
fig.update_traces(showlegend=False, opacity=0.7)
fig.show()

输出:

折线图的变化轨迹

检查此链接以获取有关 line() 函数痕迹的更多详细信息。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - Plotly Plot