<p><strong>更新:</strong></p>
<p>若要不定义图例但具有批注定位属性,请使用以下代码。</p>
<pre><code>import plotly.offline as py_offline
import plotly.graph_objs as go
py_offline.init_notebook_mode()
trace0 = go.Scatter(
x=[1, 2, 3, 4, 5],
y=[1, 2, 3, 4, 5],
)
trace1 = go.Scatter(
x=[1, 2, 3, 4, 5],
y=[5, 4, 3, 2, 1],
)
data = [trace0, trace1]
layout = go.Layout(
annotations=[
dict(
x=1.12,
y=1.05,
align="right",
valign="top",
text='Legend Title',
showarrow=False,
xref="paper",
yref="paper",
xanchor="center",
yanchor="top"
)
]
)
fig = go.Figure(data=data, layout = layout)
py_offline.iplot(fig)
</code></pre>
<p><strong>注意:</strong></p>
<ol>
<li><p>您需要为使用此方法的注释和各种图例定义<code>x</code>和<code>y</code>位置。</p></li>
<li><p>您可以在<code>text</code>属性中使用html(例如:<code>text='Legend Title<br>kinda lengthy',</code>)</p></li>
</ol>
<p><strong>上一次尝试:</strong></p>
<p>另一种方法是创建图例并使用注释将标题添加到图例中。如果不在可编辑模式下使用图形。因此在下面的例子中,图例设置为x=0和y=1,因为我希望图例标题位于实际图例之上,所以我将注释位置设置为x=0,y=1.5。x-ref和y-ref需要设置为paper。这将给出一个很好的注释,比如
<a href="https://i.stack.imgur.com/uJu57.png" rel="noreferrer"><img src="https://i.stack.imgur.com/uJu57.png" alt="plotly legend title"/></a></p>
<p>代码:</p>
<pre><code>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],
)
trace1 = go.Scatter(
x=[1, 2, 3, 4, 5],
y=[5, 4, 3, 2, 1],
)
data = [trace0, trace1]
layout = go.Layout(
legend=dict(
x=0,
y=1,
traceorder='normal',
font=dict(
family='sans-serif',
size=12,
color='#000'
),
bgcolor='#E2E2E2',
bordercolor='#FFFFFF',
borderwidth=2
),
annotations=[
dict(
x=0,
y=1.05,
xref='paper',
yref='paper',
text='Legend Title',
showarrow=False
)
]
)
fig = go.Figure(data=data, layout = layout)
py.iplot(fig)
</code></pre>