如何使用 Plotly Express 和 Plotly 隐藏图例

How to hide legend with Plotly Express and Plotly

我正在尝试通过首先在 Plotly Express 中创建一个简单的条形图,然后使用 Plotly 对其进行更新以对其进行优化来学习 Plotly。我想隐藏图例。

我试图通过隐藏图例来更新原始图形,但我无法让它工作。 This is my traceback error.

还有我的代码

import plotly.plotly as py
import plotly.graph_objs as go
import plotly_express as px
import pandas as pd


df = pd.read_csv('C:/Users/Documents/Python/CKANMay.csv')

fig = px.bar(df, x="Publisher", y="Views", color="Publisher", barmode="overlay")

fig.update(fig, showlegend="false")

This is what the chart looks like now with the legend。基本上,我希望右边那个可怕的传说消失

试试这个:

my_data = [go.Bar( x = df.Publisher, y = df.Views)]
my_layout = go.Layout({"title": "Views by publisher",
                       "yaxis": {"title":"Views"},
                       "xaxis": {"title":"Publisher"},
                       "showlegend": False})

fig = go.Figure(data = my_data, layout = my_layout)

py.iplot(fig)
  • 参数 showlegend 是您未在代码中指定的布局对象的一部分
  • 如果您不将布局对象 my_layout 包装在 go.Layout() 中,代码也可能有效。它可以通过简单地保持my_layout一个字典
  • 来工作
  • 至于plotly.express,试试fig.update_layout(showlegend=False)。所有的论点都是一样的。访问它们略有不同。

希望对你有用。

您的原始代码的问题是 fig.update() 没有将 fig 作为参数。该行可能只是 fig.update(layout_showlegend=False)

在 plotly 中创建图形后,要禁用图例,您可以使用此命令:

fig.update_layout(showlegend=False)

对于高级用户: 您还可以通过设置每条轨迹的 showlegend 属性 来 enable/disable 图中各个轨迹的图例。例如:

fig.add_trace(go.Scatter(
    x=[1, 2],
    y=[1, 2],
    showlegend=False))

您可以在此处查看示例:https://plotly.com/python/legend/