在Plotly中为图表注释添加自定义标签

乔纳森·贝克特

我正在创建许多图表,这些图表上将添加各种注释,以表示单个条件的存在。

我想做的是在图表图例中添加一个标签,以指定这些注释表示的内容。

这是一个可以重新创建的精简示例:

import pandas as pd
import numpy as np
import plotly.graph_objects as go

dates = pd.date_range(start='2020-01-01', periods=100)
random = np.random.RandomState(0)
df = pd.DataFrame({
  #'data': data1
'data': np.random.uniform(low=0, high=100, size=100).tolist()
}, index=dates)

fig = go.Figure()
fig.add_trace(go.Scatter(x=df.index, y=df['data']))
arrow_dates = df[df.data > 0.8].index
arrow_values = df[df.data > 0.8]['data'].tolist()
annotation_arrows = [dict(x=arrow_date, y=arrow_val, showarrow=True, arrowwidth=2, 
        arrowhead=1, arrowcolor='blue', yshift=10, arrowside='end') for arrow_date, arrow_val in zip(arrow_dates, arrow_values)]
fig.update_layout(annotations=annotation_arrows)
fig.show()

这提供了以下图表:

在此处输入图片说明

我想做的是为所述图表添加一个图例,以说明情况。理想情况下,它将是箭头本身的图标及其说明,例如“数据> 0.8”,并在图表图例中显示箭头的图片。

这可能吗?

谢谢。

背心

为了在图例中优雅地进行设置,我认为最好的方法是包括一个带有标记的新跟踪,该标记指示何时满足特定条件。以下代码段通过以下方式实现了这一目的:

fig.add_traces(go.Scatter(x=df.index, y=df['condition1']*1.05, mode='markers',
                         marker = dict(symbol='triangle-down'), name = 'Condition 1'))

看一下plotlys标记样式,找到一种可能比您更适合您的需求的标记样式'triangle-down'这可能不是一个完美的解决方案,但至少您会在图例中得到您想要的信息:

在此处输入图片说明

带有示例数据的完整代码:

import pandas as pd
import numpy as np
import plotly.graph_objects as go

dates = pd.date_range(start='2020-01-01', periods=100)
random = np.random.RandomState(0)
df = pd.DataFrame({
  'data': np.random.uniform(low=0, high=100, size=100).tolist()
}, index=dates)

df['condition1'] = 99

fig = go.Figure()
fig.add_trace(go.Scatter(x=df.index, y=df['data']))
arrow_dates = df[df.data > 0.95].index
arrow_values = df[df.data > 0.95]['data'].tolist()
# annotation_arrows = [dict(x=arrow_date, y=arrow_val, showarrow=True, arrowwidth=2, 
#         arrowhead=1, arrowcolor='blue', yshift=10, arrowside='end') for arrow_date, arrow_val in zip(arrow_dates, arrow_values)]
#fig.update_layout(annotations=annotation_arrows)

df['condition1'] = df['data'].where(df['data']>95)

fig.add_traces(go.Scatter(x=df.index, y=df['condition1']*1.05, mode='markers',
                         marker = dict(symbol='triangle-down'), name = 'Condition 1'))

fig.show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在WordPress中为自定义帖子类型添加自定义标签

在php datatable中为Google图表自定义html工具提示添加属性

如何在图表中自定义样式数据标签?

Vega图表中的自定义标签文本

Echart 阳光图表中的自定义标签

MPAndroid图表中的自定义X轴标签

XlsxWriter的图表的自定义数据标签

Angular 7为脚本标签添加自定义src

在 Plotly 中向甘特图添加自定义标记

自定义注释注入为JUnit中的列表

如何在Yii2表单字段中为标签添加自定义类?

使用Plotly自定义标签

如何将自定义数据注释添加到dc.js图表?

使用Plotly图表向Shiny应用程序添加自定义标题

如何让用户添加自定义注释?

如何在Donut Morris图表中更改标签颜色(自定义标签颜色)

在评论标签旁边的youtrack中添加自定义字段

在Mailchimp API 3.0中添加自定义合并标签

在选择标签中添加自定义选项(文本+值)

在Google Analytics(分析)中添加自定义标签

在Lightswitch 2013中添加自定义文本标签

在tagLib Sharp中添加自定义标签

如何在PyYaml中添加自定义嵌套标签?

在任意图表中向象限图表添加自定义划分

Plotly go.Bar:根据值添加自定义图例标签

在 plotly sankey 图中添加标签和自定义节点

使用自定义绘图标题时,`plotly.subplots`中的注释会中断

为Google GSON添加自定义TypeAdapterFactory,以检测注释的使用,以动态返回自定义TypeAdapter

为自定义格式的图表添加数千个分隔符