Supongamos que tengo el siguiente código que traza algo muy simple usando pandas:
import pandas as pd
values = [[1, 2], [2, 5]]
df2 = pd.DataFrame(values, columns=['Type A', 'Type B'],
index=['Index 1', 'Index 2'])
df2.plot(lw=2, colormap='jet', marker='.', markersize=10,
title='Video streaming dropout by category')
¿Cómo configuro fácilmente las etiquetas x e y mientras mantengo mi capacidad de usar mapas de colores específicos? Noté que el plot()
contenedor para pandas DataFrames no toma ningún parámetro específico para eso.
python
pandas
dataframe
matplotlib
Everaldo Aguiar
fuente
fuente
pd.plot()
? Dada la concisión adicional depd.plot()
overplt.plot()
, parece que tendría sentido hacerlo aún más conciso en lugar de tener que llamarax.set_ylabel()
.ax.set_ylabel("y label")
, devuelve un error'list' object is not callable
. ¿Alguna idea?ax.axes.set_ylabel("y label")
.ax.set(xlabel='...)
más alto en esta respuesta, ya que podría pasarse por alto el gráfico. Realmente es el enfoque más sucinto para establecer ambos ejes, que es el caso de uso común.Puedes usar hacerlo así:
Obviamente, debe reemplazar las cadenas 'xlabel' e 'ylabel' con lo que desea que sean.
fuente
plt.xlabel()
etc.df.plot()
, después , no antes, porque de lo contrario obtendrá dos parcelas: las llamadas modificarán una trama "anterior". Lo mismo vale paraplt.title()
.Si etiqueta las columnas y el índice de su DataFrame, los pandas proporcionarán automáticamente las etiquetas apropiadas:
En este caso, aún necesitará suministrar etiquetas y manualmente (por ejemplo, a través de
plt.ylabel
como se muestra en las otras respuestas).fuente
Es posible establecer ambas etiquetas junto con la
axis.set
función. Busque el ejemplo:fuente
.set(xlabel='x axis', ylabel='y axis')
solución porque me permite ponerlo todo en una línea, a diferencia de los métodos de trazado set_xlabel y set_ylabel. Me pregunto por qué todos (incluido el método set, por cierto) no devuelven el objeto de trazado o al menos algo heredado de él.Para casos en los que usa
pandas.DataFrame.hist
:Tenga en cuenta que obtiene un ARRAY de tramas, en lugar de una trama. Por lo tanto, para establecer la etiqueta x, deberá hacer algo como esto
fuente
qué pasa ...
fuente
pandas
usosmatplotlib
para tramas básicas de trama de datos. Por lo tanto, si está utilizandopandas
la trama básica, puede usar matplotlib para la personalización de la trama. Sin embargo, propongo un método alternativo aquíseaborn
que permite una mayor personalización de la trama sin entrar en el nivel básico dematplotlib
.Código de trabajo
fuente