support range() as keyword argument for go.Scatter
オープン
まだ誰も着手していません。
feature
P3
- 主要言語
- Python
- スター
- 18.8k
- フォーク
- 2.8k
- 平均マージ
- 16時間 26分
- マージ済み PR(30日)
- 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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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