[BUG]: Single-color requests raise ZeroDivisionError in palette helpers
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 82/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- python
- Lĩnh vực
- data-visualization
Hướng nghiên cứu
Lỗi nằm ở các hàm hỗ trợ plotly.colors là sample_colorscale và n_colors, cả hai đều chia cho số lượng yêu cầu trừ một. Hãy bắt đầu bằng cách chạy script tái hiện trong issue để xác nhận ZeroDivisionError khi số lượng bằng 1. Công việc hoàn thành khi yêu cầu một màu trả về một màu ở đầu khoảng (low / lowcolor), khớp với mẫu đầu tiên của trường hợp nhiều màu, và trường hợp không có màu nào vẫn trả về danh sách rỗng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
sample_colorscale and n_colors raise ZeroDivisionError when asked for one color. This breaks palettes sized to a dataset's group count when there is exactly one group. Both helpers divide by the requested count minus one.
Expected: one color from the start of the interval (low / lowcolor), consistent with their existing first sample.
Screenshots/Video
The API calls fail before a figure can be created; the output is shown below.
Steps to reproduce
from plotly.colors import n_colors, sample_colorscale
for label, call in [
("sample_colorscale", lambda: sample_colorscale("Viridis", 1)),
("n_colors", lambda: n_colors((0, 0, 0), (1, 1, 1), 1)),
]:
try:
print(label, call())
except ZeroDivisionError as error:
print(label, type(error).__name__, str(error))
Actual:
sample_colorscale ZeroDivisionError division by zero
n_colors ZeroDivisionError float division by zero
Expected:
sample_colorscale ['rgb(68, 1, 84)']
n_colors [(0.0, 0.0, 0.0)]
Notes
Reproduced with Plotly 7.1.0, current main 3f8a650930feadfdb651cd869ffe3e85fd093885, Python 3.12.10, Windows amd64. Zero-color requests already return empty lists.
- Ngôn ngữ chính
- Python
- Star
- 18.8k
- Fork
- 2.9k
- Merge trung bình
- 3 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 20
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của plotly/plotly.py
-
README Quickstart fails after `pip install plotly` (numpy and pandas missing)Có thể đã có người làm @DawnofGenX đã nhận 5 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
plotly/plotly.py#5790 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG]: Unnecessary `UserWarning` when using `fig.write_image()` with `kaleido.start_sync_server()`Có thể đã có người làm @jayzhou2309 đã nhận 9 ngày trước. Đang mởbug P3 size: 1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
plotly/plotly.py#5786 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
P3 size: 1 task
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
plotly/plotly.py#5769 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Remove `@types/plotly.js` dependencyCó thể đã có người làm @Belagum đã nhận 25 ngày trước. Đang mởP3 size: 1 task
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug P1
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của plotly/plotly.py
Issue tương tự
-
Claiming namespace `jft63`Đang mởnamespace operations
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
EclipseFdn/open-vsx.org#14043 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feedback simulation workshop
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
githubnext/gh-aw-workshop#4455 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Triage 🩺
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] Container scenario crashes without expected_recovery_time, kube DNS example uses retry_waitĐang mởneeds-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
krkn-chaos/krkn#1627 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
NousResearch/hermes-agent#136483 ·
Maintainer thường phản hồi trong vòng 1 ngày