我正在阅读 csv 并使用以下代码在 Python 中绘图:
import pandas as pd
from matplotlib import pyplot as plt
data = pd.read_csv('Direccion del archivo Csv', header = 0, sep=';')
g = data.groupby(["SUBDETERMINANTE"])["POSITIVAS", "POSIBLES"].sum()
1)如何根据正字段从最高到最低对 g groupby 进行排序,以便在制作图表时按该顺序排列?
g.plot(kind='barh', legend='Reverse')
plt.title(u'ANALISIS DE SUBDETERMINANTES', size = 12.0)
plt.xlabel(u'Suma', size = 12.0)
plt.ylabel('SubDeterminantes', size = 12.0)
fig_size = plt.rcParams["figure.figsize"]
print ("Current size:", fig_size)
fig_size[0] = 10.0
fig_size[1] = 15.0
plt.savefig('detalle')
根据阳性总数从高到低显示数据的图表:
2)在图表的末尾我以PNG格式下载它,我怎样才能让它显示整个名称?
感谢 ABULAFIA 的回复
import pandas as pd
from matplotlib import pyplot as plt
data = pd.read_csv('Direccion donde esta el archivo csv', header = 0, sep=';')
g = data.groupby(["SUBDETERMINANTE"])["POSITIVAS",
"POSIBLES"].sum().sort_values(by="POSITIVAS")
g.plot(kind='barh', legend='Reverse')
plt.title(u'ANALISIS DE SUBDETERMINANTES', size = 12.0)
plt.xlabel(u'Suma', size = 12.0)
plt.ylabel('SubDeterminantes', size = 12.0)
fig_size = plt.rcParams["figure.figsize"]
print ("Current size:", fig_size)
fig_size[0] = 10.0
fig_size[1] = 15.0
plt.savefig('detalle', bbox_inches='tight')
由于我没有您的数据,我无法验证我的答案是否正确。无论如何,我认为应该是这样的:
1.对数据框进行排序
数据框具有
sort_values()
. 所以尝试以下方法:(我用括号括起来的所有内容都是一种技巧,可以将表达式分成几行,为了更好的可读性,如果您愿意,可以将它们全部放在一行中并且不带括号)
2.图片导出
我不清楚你是如何导出它的,是通过
savefig()
还是通过图形用户界面的某些选项。如果savefig()
经常出现这种风格的问题,可以通过传递参数来解决bbox_inches='tight'