Trazar gráfico de barras de Pandas DataFrame
Suponiendo que tengo un DataFrame
que se parece a esto:
Hour | V1 | V2 | A1 | A2
0 | 15 | 13 | 25 | 37
1 | 26 | 52 | 21 | 45
2 | 18 | 45 | 45 | 25
3 | 65 | 38 | 98 | 14
Estoy tratando de crear una gráfica de barras para comparar las columnas V1
y V2
por el Hour
.
Cuando lo hago:
import matplotlib.pyplot as plt
ax = df.plot(kind='bar', title ="V comp",figsize=(15,10),legend=True, fontsize=12)
ax.set_xlabel("Hour",fontsize=12)
ax.set_ylabel("V",fontsize=12)
Obtengo una gráfica y una leyenda con todos los valores y nombres de las columnas. ¿Cómo puedo modificar mi código para que la trama y la leyenda sólo muestra las columnas V1
y V2
25
1 answers
Para trazar solo una selección de sus columnas, puede seleccionar las columnas de interés pasando una lista al operador de subíndice:
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
Lo que intentaste fue df['V1','V2']
esto levantará un KeyError
ya que correctamente no existe ninguna columna con esa etiqueta, aunque parece gracioso al principio tienes que considerar que estás pasando una lista de ahí los dobles corchetes [[]]
.
import matplotlib.pyplot as plt
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
ax.set_xlabel("Hour", fontsize=12)
ax.set_ylabel("V", fontsize=12)
plt.show()
43
Author: EdChum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-28 15:38:48
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-28 15:38:48