【问题标题】:Plotly: Problem with plotly express add_vrect to figure情节:情节表达 add_vrect 到图的问题
【发布时间】:2021-02-20 00:32:05
【问题描述】:

我有一个 plotly express facet_row 图,其中包含三个子图,效果很好。我想在为绘图的特定区域着色并添加文本的所有行中添加一个框。 add_vrect 应该可以完成这项工作,但我很难让它工作。

https://plotly.com/python/horizontal-vertical-shapes/ https://plotly.com/python/facet-plots/

下面的代码

import pandas as pd
import plotly.express as px
import plotly.io as pio

ftir_data_facet = pd.read_csv(r"C:\Users\mch047\Box Sync\PhD project Mikkel C\OneDrive - UiT Office 365\Mikkel_Christensen\Bioinformatics\Paper 1\Figure 2 Plate screen panel\Full_FTIR_dataset\Paper1_Figure2_FTIR_tidy_faceformat_071120.csv", sep=";")
#ftir_data_facet

figure2_facet = px.scatter(ftir_data_facet, x="Wavenumbers (1/cm)", y="Absorbance", color="Strain", facet_row="Plate")

figure2_facet.update_xaxes(title_text="Wavenumbers (1/cm)", range=[4000, 1000], showgrid=False)
fig.show()

我已尝试添加:

figure2_facet.add_vrect(x0="1750", x1="1700", row=All, 
             annotation_text="Carbonyl region", annotation_position="top left",
             fillcolor="green", opacity=0.25, line_width=0)

我明白了:

"AttributeError: 'Figure' 对象没有属性 'add_vrect'"

任何人都可以帮助或解释为什么它不起作用..?

【问题讨论】:

    标签: python plotly


    【解决方案1】:

    这似乎是版本问题。截至 2020 年 10 月 23 日,add_vrect() 似乎已与 4.12.0 版本中的许多其他人一起作为 new functinality 引入:

    添加

    在一个维度中引用绘图轴并且在另一维度中引用数据的形状可以 使用新的 add_hline 添加,add_vlineadd_hrectadd_vrect 函数,它们还支持 row="all"col="all" 参数。 (#2840) add_trace, add_shape, add_annotation, add_layout_image, add_hlineadd_vlineadd_hrectadd_vrect 函数接受 参数 exclude_empty_subplots 如果为真,则仅将对象添加到 已经包含轨迹或布局对象的子图。这很有用 与row="all"col="all" 参数一起使用。

    所以我最初的建议是有计划地更新并重试。

    【讨论】:

    • 您好,感谢您的建议。我现在已经进行了更新,但即使在多次重新启动计算机后,我仍然会收到相同的错误。
    • 但它似乎更多是 Anaconda 的本地问题,并在我的机器上进行更新。将看看我是否将其修复或必须重新安装以测试它是否可以工作。
    • @MikkelC 最后你的结果如何?
    • 它最终解决了 - 向我的 IT 部门发送了电子邮件,抱怨我的工作电脑用户没有接收电子邮件等所需的管理员权限,并卸载并重新安装了 Anaconda 和必要的软件包。后一个选项快了 1 周,并且当我使用管理员帐户进行更新时,没有对 Anaconda 没有为所有用户更新的抱怨。所以我想我会再次遇到这个问题,因为我们的 IT 部门不相信我们的本地用户应该有管理员权限......无论如何,谢谢你指出我正确的方向:-)
    猜你喜欢
    • 2019-12-05
    • 2020-11-11
    • 2020-12-02
    • 2020-12-22
    • 1970-01-01
    • 2020-05-01
    • 2023-02-23
    • 2022-12-06
    相关资源
    最近更新 更多