Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BUG]: Single-color requests raise ZeroDivisionError in palette helpers

Aperta Adatta ai principianti
#5,805 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@MokiMeow ci sta già lavorando.

Dal 10/10/2026.

  • #5806 di @MokiMeow — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
82/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

Il bug si trova nelle funzioni di supporto plotly.colors sample_colorscale e n_colors, che dividono entrambe per il numero richiesto meno uno. Inizia eseguendo lo script di riproduzione presente nell'issue per confermare il ZeroDivisionError con un conteggio pari a 1. È completato quando una richiesta di un singolo colore restituisce un colore all'inizio dell'intervallo (low / lowcolor), corrispondente al primo campione del caso con più colori, e il caso con zero colori continua a restituire una lista vuota.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Python
Stelle
18.8k
Fork
2.9k
Merge medio
3g 7h
PR unite (30g)
20

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di plotly/plotly.py

Tutte le issue di plotly/plotly.py

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.