matplotlib / matplotlib/basemap
Numerical precision issue in rotate_vector
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 817
- Fork
- 395
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi,
I ran into a numerical precision issue when using the rotate_vector function with 32bit floats as input data. In this case, the lat/lon increments used to determine the relative rotation between map projection and the lat/lon grid is chosen too small. The result was a cristalline structure in the plotted wind barbs which patches of barbs pointing in the exact same direction.
Converting the input to 64bit floats solves the issue for me, as did an increase of the increment to 1.0e-4.
Best regards,
Clemens
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Iniziare da lib/mpl_toolkits/basemap/init.py, intorno all’implementazione di rotate_vector a cui si fa riferimento nell’issue. Riprodurre l’artefatto delle barbette del vento con input in virgola mobile a 32 bit, confrontarlo con input a 64 bit e con l’incremento maggiore menzionato, e verificare che il pattern cristallino venga eliminato senza modificare il comportamento di rotazione previsto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- matplotlib, python
- Ambito
- data-visualization
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100