首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为最后一个值启用行图中的文本标签

为最后一个值启用行图中的文本标签
EN

Stack Overflow用户
提问于 2021-12-12 20:45:22
回答 1查看 878关注 0票数 1

我正在尝试构建一个图形,在这个图形中,线条图应该只显示最后一个元素的值,在一些漂亮的格式中。

线型图,末端无文字

现在,文本的当前方法显示了所有元素,并且是一个直接的文本,它在同一张图中创建了许多与不同线条的碰撞,看起来很笨拙。

如下图所述,实现这一目标将是非常好的。

想要的带文本的线条图

EN

回答 1

Stack Overflow用户

发布于 2022-01-10 09:07:09

现在通过以下方式处理这一问题:

代码语言:javascript
运行
复制
legendgroup = d.name

情节1:全部

情节2:取消在图例中选择GOOG,并确保标记也消失:

完整代码:

代码语言:javascript
运行
复制
# imports
import pandas as pd
import plotly.express as px

# data
df = px.data.stocks()
df = df.drop('AMZN', axis = 1)
colors = px.colors.qualitative.T10

# plotly
fig = px.line(df, 
                 x = 'date',
                 y = [c for c in df.columns if c != 'date'],
                 template = 'plotly_dark',
                 color_discrete_sequence = colors,
                 title = 'Stocks', 
             )

# move legend
fig.layout.legend.x = -0.3

# add traces for annotations and text for end of lines
for i, d in enumerate(fig.data):
    fig.add_scatter(x=[d.x[-1]], y = [d.y[-1]],
                    mode = 'markers+text',
                    text = d.y[-1],
                    textfont = dict(color=d.line.color),
                    textposition='middle right',
                    marker = dict(color = d.line.color, size = 12),
                    legendgroup = d.name,
                    showlegend=False)

fig.show()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70327566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档