2012-05-21 23 views
8

tengo que dibujar un diagrama tiene el siguiente aspecto:¿Es posible dibujar un diagrama verticalmente con python matplotlib?

enter image description here

¿Es posible? ¿Cómo puedo hacer esto?

+0

creo que la palabra clave es "Stripchart". Tal vez puedas adaptar http://matplotlib.sourceforge.net/examples/animation/strip_chart_demo.html? – XTL

+2

¿Hay alguna razón por la que no puedas simplemente voltear las coordenadas xey? – Karmel

+0

¿Dónde está la imagen? –

Respuesta

9

No sé lo que es sus datos para ... pero aquí es un gráfico 'vertical' de hipotéticos niveles de oxígeno en la superficie del mar cerca ...

Tenga en cuenta que se requiere nada especial. Simplemente ordene sus valores x y y de manera que una línea dibujada desde la primera coordenada hasta la segunda y así sucesivamente le dé la línea vertical que desee.

(La única cosa especial que he hecho aquí - que puede o no puede ser lo que usted quiere - se pone el xticks en la parte superior de la trama, utilizando tick_top.)

import matplotlib.pyplot as plt 

# define data 

Oxygen = [ 0.1 , 0.5, 1, 10, 15, 20, 15, 10, 1, 0.5, 0.5] 
Depth = [ 0,  1, 2, 4, 8, 10, 12, 14, 16, 20, 40 ] 

fig = plt.figure() 
ax = fig.add_subplot(111) 

ax.plot(Oxygen, Depth, 'go--') 
ax.xaxis.tick_top() 

ax.set_ylabel('depth') 
ax.set_ylim(50, 0) 
ax.set_xlim(0, 25) 
ax.set_xlabel('Oxygen level [ppm]') 

plt.show() 

Este rendimientos: enter image description here

espero que ayude ...

+0

¡correcto! ¡Eso es lo que quiero! – wtm

+0

@wtm, tenga en cuenta que una pequeña mejora que podría hacer por atractivo estético es poner el xtitle (nivel de oxígeno) en la parte superior, en lugar de donde está ahora. Pero no voy a echar a perder toda la diversión y dejarte descubrir solo ;-) – Oz123

Cuestiones relacionadas