Como nomear os ticks em um boxplot python matplotlib

20

O Python matplotlib possui um comando boxplot .

Normalmente, todas as partes do gráfico são numeradas. Como posso alterar os ticks para nomes em vez de posições?

Para ilustração, quero dizer os rótulos de segunda-feira a quarta-feira, como neste boxplot:

texto alternativo

Peter Smit
fonte

Respostas:

30

Use o segundo argumento de xtickspara definir os rótulos:

import numpy as np
import matplotlib.pyplot as plt

data = [[np.random.rand(100)] for i in range(3)]
plt.boxplot(data)
plt.xticks([1, 2, 3], ['mon', 'tue', 'wed'])

editado para remover pylabbc pylabé um módulo de conveniência que importa em massa matplotlib.pyplot(para plotagem) e numpy(para matemática e trabalhando com matrizes) em um único espaço de nome. Embora muitos exemplos sejam usados pylab, ele não é mais recomendado .

ars
fonte
13

ars tem a resposta certa e sucinta. Acrescentarei que, ao aprender a usar o matplotlib, achei a galeria de miniaturas muito útil para encontrar códigos e exemplos relevantes. No seu caso, enviei este exemplo de boxplot que mostra outras funcionalidades que podem ser úteis (como girar o texto da marca de seleção, adicionar marcas de seleção e rótulos do eixo Y superior, adicionar cores às caixas etc.)

texto alternativo

Josh Hemann
fonte
+1. Josh, essa é uma amostra de referência bastante completa - obrigado!
ars