Si encuentras algún error en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes subir el código al trabajo final.
Solución:
puede usar el parámetro de orden para esto.
sns.barplot(x='Id', y="Speed", data=df, order=result['Id'])
Créditos a Wayne.
Ver el resto de su código.
Debe ordenar su marco de datos de la manera deseada y volver a indexarlo para crear un nuevo índice ascendente/descendente. Después de eso, puede trazar un gráfico de barras con índice como valores x. Luego establezca las etiquetas establecidas por la columna Dim de su marco de datos:
import matplotlib.pylab as plt
import pandas as pd
import seaborn as sns
dicti=('37':99943,'25':47228,'36':16933,'40':14996,'35':11791,'34':8030,'24' : 6319 ,'2' :5055 ,'39' :4758 ,'38' :4611 )
pd_df = pd.DataFrame(list(dicti.items()))
pd_df.columns =["Dim","Count"]
print (pd_df)
# sort df by Count column
pd_df = pd_df.sort_values(['Count']).reset_index(drop=True)
print (pd_df)
plt.figure(figsize=(12,8))
# plot barh chart with index as x values
ax = sns.barplot(pd_df.index, pd_df.Count)
ax.get_yaxis().set_major_formatter(plt.FuncFormatter(lambda x, loc: ":,".format(int(x))))
ax.set(xlabel="Dim", ylabel='Count')
# add proper Dim values as x labels
ax.set_xticklabels(pd_df.Dim)
for item in ax.get_xticklabels(): item.set_rotation(90)
for i, v in enumerate(pd_df["Count"].iteritems()):
ax.text(i ,v[1], ":,".format(v[1]), color='m', va ='bottom', rotation=45)
plt.tight_layout()
plt.show()
Prepare el marco de datos de modo que esté ordenado por la columna que desee.
Ahora pasa eso como un parámetro para funcionar.
import matplotlib.pylab as plt
import pandas as pd
import seaborn as sns
dicti=('37':99943,'25':47228,'36':16933,'40':14996,'35':11791,'34':8030,'24' : 6319 ,'2' :5055 ,'39' :4758 ,'38' :4611 )
pd_df = pd.DataFrame(list(dicti.items()))
pd_df.columns =["Dim","Count"]
# Here the dataframe is already sorted if not use the below line
# pd_df = pd_df.sort_values('Count').reset_index()
# or
# pd_df = pd_df.sort_values('Count',ascending=False).reset_index()
sns.barplot(x='Dim',y='Count',data=pd_df,order = pd_df['Dim'])`
Te mostramos comentarios y valoraciones
Eres capaz de animar nuestro trabajo ejecutando un comentario o valorándolo te damos las gracias.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)