Forum >> Principianti >> modulo matplot

Pagina: 1

Utilizzando il modulo matplot per un grafico ottengo come risultato che
il valore 10.99 non viene messo come ultimo ma tra 1 e 2

import math
import numpy as np
import matplotlib.pyplot as plt

plt.plot(['0.0', '100.0', '200.0', '300.0', '400.0', '500.0', '600.0', '700.0', '800.0', '900.0'],['1.0', '1.11111111111', '1.25', '1.42857142857', '1.66666666667', '2.0', '2.5', '3.33333333333', '5.0', '10.99'])

plt.show ()



Allegati
perché usi stringhe? cosa succede se fai

plt.plot([0.0, 100.0, 200.0, 300.0, 400.0, 500.0, 600.0, 700.0, 800.0, 900.0],
    [1.0, 1.11111111111, 1.25, 1.42857142857, 1.66666666667, 2.0, 2.5, 3.33333333333, 5.0, 10.99])
?

THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
ciao il grafico che ottengo è quello riportato nel file allegato, funziona tutto bene fino a quando il valore nella lista

non supera il 9.9 disegna bene la curva poi superato il 10 il valore viene messo tra 1 e 2 e se metto 20 tra 2 e 3 i valori venivano calcolati e poi messi in una lista per essere passati a matplot e disegnare un grafico x,y qui ho messo direttamente le liste ma il risultato è esattamente identico






Questo non è Italiano, e non saprei come decifrarlo. Comunque è come ti hanno detto: stai plottando delle stringhe, non dei numeri. Questo non è neanche un problema di matplotlib, è proprio solo che in python stringhe e numeri hanno un ordinamento diverso:


>>> sorted([1, 2, 10])
[1, 2, 10]
>>> sorted(['1', '2', '10'])
['1', '10', '2']


Usa dei numeri, non delle stringhe.



ciao, si, usando i numeri funziona tutto bene con le stringhe crea un grafico ugualmente ma i dati non sono messi in ordine

grazie per le risposte.



Pagina: 1



Esegui il login per scrivere una risposta.