此问题已在此处有答案:
Show both value and percentage on a pie chart [duplicate](2个答案)
How do I use matplotlib autopct?(7个回答)
7个月前关闭。
我有一个类似下面的数据框-
df = pd.DataFrame([
['Fully Paid',1,1],
['Fully Paid',1,1],
['Fully Paid',1,0],
['Defaulted',1,0],
['Defaulted',1,0]
], columns=['LoanStatus', 'B', 'C'])
我期待绘制在一个饼图显示60%的贷款状态是全额支付,而40%是违约这一点。我能够做到这一点在一个计数图,但无法做到这一点在饼图-
COUNT PLOT:
sns.countplot(x="LoanStatus",data=df)
预期:
一个饼图显示有多少值有两个贷款状态沿着百分比。
2条答案
按热度按时间zd287kbt1#
将自定义函数与
Series.value_counts
一起用于相同饼图中计数的百分比:ioekq8ef2#
您可以这样做以获得饼图。如果您想以不同的方式显示值和百分比,请调整
fmt
。附加信息-
def fmt()
是一个函数,将在绘图时为每个条目调用。值x
将作为自动计算百分比的输入(3/5100=60和2/5100=40)。还有更多使用此here的示例。计算Total以获得default +FullyPaid的总和(5).对于每个标签,返回值基本上是在字符串中,该字符串是输入值x,具有1个小数位,并且在其后具有百分比符号({:.1f}%
),然后\n
,它是一个换行符,后跟计算字段(total*x/100),格式为没有小数的整数({:.0f}
)。如果您需要有关字符串格式选项的更多信息,您可以找到它here。希望这对您有帮助。