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)
我怎样才能做到这一点?
您可以在绘制图形之前设置图形的任何参数,如下所示:
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)
不确定这是否是最近添加的,但在当前版本的 plotly(4.0 及更高版本)中,您可以执行fig.update(layout_showlegend=False).