2009-11-17 16 views
5

Creé un diagrama de dispersión muy simple usando pylab.¿Por qué mi trazado de dispersión Python no funcionará?

pylab.scatter(engineSize, fuelMile) 
pylab.show() 

El resto del programa no vale la pena publicar, porque es esa línea que me está dando el problema. Cuando cambio "scatter" por "plot", grafica los datos, pero cada punto es parte de una línea y eso hace que todo sea un desastre. Sólo quiero puntos, no una línea, pero tengo este gran mensaje de error que termina con:

File "C:\Python26\lib\site-packages\numpy\core\fromnumeric.py", line 1643, in amin 
    return amin(axis, out) 
TypeError: cannot perform reduce with flexible type 
+0

¿Qué valores están almacenando engineSize y fuelMile? Creo que está fallando al tratar de convertir uno de esos a 1 dimensión. – Mark

+0

Conocer el tipo de engineSize y fuelMile sería muy útil. Considere publicar un poco más de su código. ¿Son listas o matrices numpy? ¿Qué tipo son los elementos de estos iterables? – Paul

+1

también, como un lado, puede "desactivar" las líneas en la trama() estableciendo tipo de línea = '' (o posiblemente tipo de línea = Ninguna) como una palabra clave arg en la gráfica() – Paul

Respuesta

2

bien, así que ya que esta funciona, algo debe estar mal con sus entradas. Es evidente que se necesita para enviar más, a menos que esta "respuesta" resuelve su problema:

>>> import pylab 
>>> pylab.scatter([500, 550, 700, 1100], [5.5, 6.5, 3.1, 9.7]) 
<matplotlib.collections.RegularPolyCollection object at 0x036F5610> 
>>> pylab.show() 
(graphing-type stuff ensues) 
9

apuesto engineSize, fuelMile son las picaduras, intente imprimir de ellos, si ese es el caso, hay que convertirlos a flotar antes de pasar ellos como argumentos para dispersar

floatval = float(strval) 
Cuestiones relacionadas