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_spacing
和 facet_col_spacing
参数更改每个子图之间的间距,并将其值设置为从 0 到 1 的浮点数。我们还可以使用 log_x
和 log_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_sequence
和 line_dash_sequence
参数更改默认颜色和图案序列。我们可以将颜色序列设置为 Plotly 支持的颜色序列,如 Dark24
或 Light24
。
我们还可以使用 line_dash_sequence
参数更改每条线的线条样式,并将其设置为有效的 Plotly 支持的线条样式,如实线、点、破折号、longdash
、dashdot
和 longdashdot
。
例如,让我们改变上面折线图的颜色和样式顺序。请参阅下面的代码。
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_x
和 error_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()
函数痕迹的更多详细信息。