在图中隐藏图例条目

blu*_*e13 2 python legend pandas plotly

图例的可打印文档提供有关隐藏图例条目的信息:

import plotly.plotly as py
import plotly.graph_objs as go

trace0 = go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[1, 2, 3, 4, 5],
    showlegend=False
)

trace1 = go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[5, 4, 3, 2, 1],
)

data = [trace0, trace1]
fig = go.Figure(data=data)

py.iplot(fig, filename='hide-legend-entry')
Run Code Online (Sandbox Code Playgroud)

但是,我正在从中生成图DataFrame。因此,我已经有了一个可圈可点的图形,因此没有设置showlegend=False每个跟踪的自由。

import pandas as pd
import plotly.offline as py
import cufflinks as cf
cf.go_offline()

df = pd.DataFrame(data=[[0, 1, 2], [3, 4, 5]], columns=['A', 'B', 'C'])
py.plot(df.iplot(kind='scatter', asFigure=True))
Run Code Online (Sandbox Code Playgroud)

我想隐藏列列表。

columns_to_hide = ['A', 'C']
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Ser*_*ity 7

您可以在绘制图形之前设置图形的任何参数,如下所示:

import pandas as pd
import plotly.offline as py
import plotly.graph_objs as go
import cufflinks as cf
cf.go_offline()

df = pd.DataFrame(data=[[0, 1, 2], [3, 4, 5]], columns=['A', 'B', 'C'])

# get figure property
fig = df.iplot(kind='scatter', asFigure=True)

# set showlegend property by name of trace
for trace in fig['data']: 
    if(trace['name'] != 'B'): trace['showlegend'] = False

# generate webpage
py.plot(fig)
Run Code Online (Sandbox Code Playgroud)


joe*_*lom 7

不确定这是否是最近添加的,但在当前版本的 plotly(4.0 及更高版本)中,您可以执行fig.update(layout_showlegend=False).

  • 是的,“神奇下划线”是 4.0 中的新功能。您还可以执行“update_layout(showlegend=False)” (4认同)