support range() as keyword argument for go.Scatter
未关闭
还没有人认领这个 Issue。
feature
P3
- 主要语言
- Python
- 星标
- 18.8k
- 派生
- 2.8k
- 平均合并
- 16 小时 26 分钟
- 30 天内合并 PR
- 21
描述
In Jupyter notebook:
import plotly.graph_objects as go
go.Figure(go.Scatter(x=range(3), y=[3, 2, 1]))
Output:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-be3f9396b95f> in <module>
1 import plotly.graph_objects as go
----> 2 go.Figure(go.Scatter(x=range(3), y=[3, 2, 1]))
/usr/lib/python3.7/site-packages/plotly/graph_objs/__init__.py in __init__(self, arg, cliponaxis, connectgaps, customdata, customdatasrc, dx, dy, error_x, error_y, fill, fillcolor, groupnorm, hoverinfo, hoverinfosrc, hoverlabel, hoveron, hovertemplate, hovertemplatesrc, hovertext, hovertextsrc, ids, idssrc, legendgroup, line, marker, meta, metasrc, mode, name, opacity, orientation, r, rsrc, selected, selectedpoints, showlegend, stackgaps, stackgroup, stream, t, text, textfont, textposition, textpositionsrc, textsrc, tsrc, uid, uirevision, unselected, visible, x, x0, xaxis, xcalendar, xsrc, y, y0, yaxis, ycalendar, ysrc, **kwargs)
39689 self["visible"] = visible if visible is not None else _v
39690 _v = arg.pop("x", None)
> 39691 self["x"] = x if x is not None else _v
39692 _v = arg.pop("x0", None)
39693 self["x0"] = x0 if x0 is not None else _v
/usr/lib/python3.7/site-packages/plotly/basedatatypes.py in __setitem__(self, prop, value)
3351 # ### Handle simple property ###
3352 else:
-> 3353 self._set_prop(prop, value)
3354
3355 # Handle non-scalar case
/usr/lib/python3.7/site-packages/plotly/basedatatypes.py in _set_prop(self, prop, val)
3634 return
3635 else:
-> 3636 raise err
3637
3638 # val is None
/usr/lib/python3.7/site-packages/plotly/basedatatypes.py in _set_prop(self, prop, val)
3629 validator = self._validators.get(prop)
3630 try:
-> 3631 val = validator.validate_coerce(val)
3632 except ValueError as err:
3633 if self._skip_invalid:
/usr/lib/python3.7/site-packages/_plotly_utils/basevalidators.py in validate_coerce(self, v)
387 v = to_scalar_or_list(v)
388 else:
--> 389 self.raise_invalid_val(v)
390 return v
391
/usr/lib/python3.7/site-packages/_plotly_utils/basevalidators.py in raise_invalid_val(self, v, inds)
281 typ=type_str(v),
282 v=repr(v),
--> 283 valid_clr_desc=self.description(),
284 )
285 )
ValueError:
Invalid value of type 'builtins.range' received for the 'x' property of scatter
Received value: range(0, 3)
The 'x' property is an array that may be specified as a tuple,
list, numpy array, or pandas Series
Plotly is installed from Arch Linux AUR, based on version 4.1.0, built using this script.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
使用 go.Scatter(x=range(3), y=[3, 2, 1]) 重现 Jupyter 示例,然后跟踪 stack trace 中显示的 x-property 验证。为 range 值添加回归覆盖,并确认该示例在没有 invalid-value 错误的情况下成功运行。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- jupyter-notebook, plotly, python
- 领域
- data-visualization
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100