如何从条形图中获取多条轨迹的条形颜色?
How to get bar colors of multiple traces from bar chart?
我使用循环创建了一个包含多条轨迹的条形图。每条迹线的颜色由 plotly 自动分配。现在图表已经完成,如何获得所有痕迹的颜色?我需要将这些相同的颜色分配给子图中的另一个散点图,以使颜色保持一致。非常感谢您的帮助。
for i in range (10):
fig.add_trace(
go.Bar(
x=weights_df_best.index,
y=weights_df_best[col].values,
name = col,
text=col,
hoverinfo='text',
legendgroup = '1',
offsetgroup=0,
),
row=1,
col=1,
)
如果您想在生成图形后将颜色放入列表中,只需 运行:
colors = []
fig.for_each_trace(lambda t: colors.append(t.marker.color))
如果您在下面的完整代码段中使用该方法,您将得到
['#636efa', '#EF553B', '#00cc96']
情节
完整代码:
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x="medal", y="count", color="nation", text_auto=True)
colors = []
fig.for_each_trace(lambda t: colors.append(t.marker.color))
colors
我使用循环创建了一个包含多条轨迹的条形图。每条迹线的颜色由 plotly 自动分配。现在图表已经完成,如何获得所有痕迹的颜色?我需要将这些相同的颜色分配给子图中的另一个散点图,以使颜色保持一致。非常感谢您的帮助。
for i in range (10):
fig.add_trace(
go.Bar(
x=weights_df_best.index,
y=weights_df_best[col].values,
name = col,
text=col,
hoverinfo='text',
legendgroup = '1',
offsetgroup=0,
),
row=1,
col=1,
)
如果您想在生成图形后将颜色放入列表中,只需 运行:
colors = []
fig.for_each_trace(lambda t: colors.append(t.marker.color))
如果您在下面的完整代码段中使用该方法,您将得到
['#636efa', '#EF553B', '#00cc96']
情节
完整代码:
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x="medal", y="count", color="nation", text_auto=True)
colors = []
fig.for_each_trace(lambda t: colors.append(t.marker.color))
colors