2011-03-01 10 views
34

pensando en añadir en el espacio vertical entre los gráficos trazados para permitir una etiqueta del eje X para mostrar:Necesidad de añadir espacio entre tramas secundarias para la etiqueta del eje X, tal vez eliminar el etiquetado de las muescas del eje

Cada gráfico tiene que tener espacio para muestre el día, actualmente los últimos 2 gráficos son los únicos que se muestran simplemente porque los gráficos se superponen.

También es curioso si realmente pudiera eliminar las etiquetas de muesca para el X-Axis para los gráficos superiores a los marcados el jueves/viernes, es decir, el eje X inferior es el único que se muestra. Lo mismo para el eje Y, pero solo los gráficos de la izquierda muestran la escala.

* Desafortunadamente no puedo publicar una imagen para mostrar esto ya que no tengo suficientes representantes.

Código fragmento:

import mathlib.pyplot as pyplot 
fig = pyplot.figure() 
ax1 = fig.add_subplot(4,2,1) 
ax1.set_yscale('log') 
ax2 = fig.add_subplot(4,2,2, sharex=ax1, sharey=ax1) 
ax3 = fig.add_subplot(4,2,3, sharex=ax2, sharey=ax2) 
ax4 = fig.add_subplot(4,2,4, sharex=ax3, sharey=ax3) 
ax5 = fig.add_subplot(4,2,5, sharex=ax4, sharey=ax4) 
ax6 = fig.add_subplot(4,2,6, sharex=ax5, sharey=ax5) 
ax7 = fig.add_subplot(4,2,7, sharex=ax6, sharey=ax6) 
ax1.plot(no_dict["Saturday"],'k.-',label='Saturday') 
ax1.set_xlabel('Saturday') 
ax1.axis([0,24,0,10000]) 
pyplot.suptitle('Title') 
pyplot.xlabel('Hour in 24 Hour Format') 
ax2.plot(no_dict["Sunday"],'b.-',label='Sunday') 
ax2.set_xlabel('Sunday') 
... 

too crowded

+0

Por favor, intente ingresar el código que puede ejecutarse. Ahorra tiempo para que una sola persona (usted) limpie el código, en lugar de hacer que todos los que intentan responder lo hagan. A saber, 'import mathlib' y algunos datos de ejemplo en lugar de un enlace a un dict no existente. – Paul

+0

Ah, buen punto, estaba en un descanso para almorzar cuando publiqué esto, de lo contrario lo hubiera hecho realmente ejecutable antes de que respondiera. –

Respuesta

76

Uso subplots_adjust. En su caso esto se ve bien:

fig.subplots_adjust(hspace=.5) 

para eliminar las etiquetas señalizadoras hacen esto:

ax1.set_xticklabels([]) 

similares para el yticklabels. Sin embargo, no puede compartir el eje x con los trazados que sí tienen etiquetas.

enter image description here

+0

Tenga en cuenta que las ventanas de figuras tienen una barra de herramientas con un botón que permite ajustar estas configuraciones (como 'hspace') de forma interactiva. –

Cuestiones relacionadas