Figure resizing with AnyWidget doesn't work as expected
还没有人认领这个 Issue。
- 主要语言
- Python
- 星标
- 18.8k
- 派生
- 2.8k
- 平均合并
- 16 小时 26 分钟
- 30 天内合并 PR
- 21
描述
See: https://community.plotly.com/t/plotly-v6-0-figure-resizing-with-ipywidgets/89424
import ipywidgets as widgets
import plotly.graph_objs as go
from ipywidgets import HTML, VBox
fig = go.FigureWidget(data=[go.Scatter(x=[1, 2, 3], y=[4, 5, 6])])
custom_css = """
<style>
.plot-container {
width: 100%;
height: 100%;
}
</style>
"""
fig.add_class("plot-container")
container = VBox(
[fig],
layout=widgets.Layout(
width="500px",
height="600px",
border="solid red",
),
)
display(HTML(custom_css), container)
5.24
6.0
A follow-up:
fig.layout.autosize = True
works, but it is poorly implemented. For example if it is set before displaying fig, it many times does not respect this decision. So I usually set it after display. Still if container size changes, it is not going well on its own and you may need to reset it. Honestly, to me it looks like sending a message through this trait which upon setting it again to same value works, although a Bool trait does not work like that. Ideally we should set this once and javascript behind the scene should observe the container size change automatically.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
未指定文件或测试。首先使用版本 5.24 和 6.0 运行提供的 ipywidgets 示例,然后调查 FigureWidget/AnyWidget 的调整大小行为以及 autosize 的后续工作。完成的标准是图形能够可靠地填满其容器,并在容器大小发生变化时自动响应,同时为复现的案例添加回归测试。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- jupyter-notebook, python
- 领域
- data-visualization, frontend
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100