python - 有没有办法让 add_vline 垂直线在 y 轴上无限延伸?
问题描述
从 plotly 4.12 版开始,您可以添加水平线和垂直线以及矩形。我已经安装了 4.12。我正在使用以下代码段:
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="petal_length", y="petal_width")
fig.add_vline(x=2.5, line_width=3, line_dash="dash", line_color="green")
fig.add_hrect(y0=0.9, y1=2.6, line_width=0, fillcolor="red", opacity=0.2)
fig.show()
...产生这个数字:
为什么 vline 不会在 y 轴上无限延伸?
此处描述了相同的问题github.com/plotly/plotly.py/issues/2979,但未提供解决方案。我可以在这里找到解决方法的描述:Plotly:如何在子图中制作无界垂直线?但解决方法非常冗长,而且不那么整洁。
我真的很想使用 add_vline 功能,但我有点困惑,因为文档清楚地说“在 y 维度上无限延伸的绘图或子绘图中添加一条垂直线”。并且这里的所有示例也都超出了 1:因此在我看来,预期的行为应该是让线超出 1。
解决方案
add_vline 函数使用底层渲染引擎 Plotly.js 中最近添加的功能,这意味着无论您在何处使用 Plotly.py,都需要最新版本的 Plotly.js。在实践中,这意味着在 JupyterLab 中安装最新的 jupyterlab-plotly 扩展,在 Dash 中安装最新的 dash/dash_core_components,或者等到 VSCode 和/或 Streamlit 更新其 Plotly.js 的板载副本,如果您在这些环境中看到此问题。
更多信息可以在这里找到:故障排除 | 蟒蛇 | 情节
推荐阅读
- angular - 使用 NPM 为 Angular 构建 Docker 映像
- python - 包含 pyspark SQL: TypeError: 'Column' object is not callable
- xslt - 在 XSLT 2.0 中使用多个参数进行过滤
- html - 在 Chrome Mobile 上导入 font-awesome 导致 x 轴溢出
- reporting-services - SSRS:百分比目标
- r - 从绘图对象中删除悬停信息文本
- linux - OpenModelica:没有输出变量或解决方案文件
- chart.js - chart.js 如何在 0/360 度不连续处绘制 xy 图
- c++ - C++:std::map、查找循环、算法
- javascript - 允许用户在 JavaScript 中更改背景颜色