python图例重复显示_如何避免在绘图中重复出现图例标签或通过...

如何避免子图中重复的图例标签?我要在matplotlib中进行处理的一种方法是将自定义图例标签传递给图例对象.我找不到有关等效选项的任何文档.有任何想法吗?

traces = []

colors = {'Iris-setosa': 'rgb(31, 119, 180)',

'Iris-versicolor': 'rgb(255, 127, 14)',

'Iris-virginica': 'rgb(44, 160, 44)'}

for col in range(4):

for key in colors:

traces.append(Histogram(x=X[y==key, col],

opacity=0.75,

xaxis='x%s' %(col+1),

marker=Marker(color=colors[key]),

name=key

)

)

data = Data(traces)

layout = Layout(barmode='overlay',

xaxis=XAxis(domain=[0, 0.25], title='sepal length (cm)'),

xaxis2=XAxis(domain=[0.3, 0.5], title='sepal width (cm)'),

xaxis3=XAxis(domain=[0.55, 0.75], title='petal length (cm)'),

xaxis4=XAxis(domain=[0.8, 1], title='petal width (cm)'),

yaxis=YAxis(title='count'),

title='Distribution of the different Iris flower features')

fig = Figure(data=data, layout=layout)

py.iplot(fig)

最佳答案

在跟踪级别上进行绘图控制.尝试在您不想显示在图例中的直方图轨迹中传递showlegend = False.

从上面的链接直接复制粘贴.

import plotly.plotly as py

from plotly.graph_objs import *

# Fill in with your personal username and API key

# or, use this public demo account

py.sign_in('Python-Demo-Account', 'gwt101uhh0')

trace1 = Scatter(

x=[0, 1, 2],

y=[1, 2, 3],

name='First Trace',

showlegend=False

)

trace2 = Scatter(

x=[0, 1, 2, 3],

y=[8, 4, 2, 0],

name='Second Trace',

showlegend=True

)

data = Data([trace1, trace2])

plot_url = py.plot(data, filename='show-legend')

您要查看的用法显示在上面的trace1中.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值