python利用matplotlib包画图

单个图示例

# -*- coding:utf-8 -*-

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl

if __name__ == '__main__':
    data2 = pd.read_excel('abc.xlsx','Sheet1')
    flag2 = data2.loc[data2.flag<2]
    flag3 = data2.loc[data2.flag != 3.0].drop(flag2.index)
    # 通过和拒绝的样本分布
    plt.hist(flag2.score, bins=10, rwidth=0.9,facecolor = 'blue', density=True,alpha=0.5,label='accept')
    plt.hist(flag3.score, bins=10, rwidth=0.9,facecolor = 'sandybrown', density=True,alpha=0.9,label='reject')
    plt.legend(handles=[a,b], loc='upper left')
    plt.locator_params('x',nbins=20)
    plt.legend(loc='upper left')
    plt.title('fenqi loan')
    plt.xlabel('bins')
    plt.ylabel('score_cnt')
    plt.show()
    # 计算评分KS及badrate分布
    flag2.loc[:,'score'] = flag2.loc[:,'score'].fillna(300)
    result2 = ScoreCalculate().score_simple_big_good(flag2, 'score', 'flag', bins=10)
    # 保存结果
    # writer = pd.ExcelWriter(('fenqi40/result_fenqi_loan_{time}.xlsx').format(time=str(dt.date.today())))
    # result2.to_excel(writer, index=None, sheet_name='result2')
    # writer.save()
    print(flag2.score.mean(),flag2.score.median())
    print(flag3.score.mean(), flag3.score.median())
    

多个图示例:2X1图

def score_plot(data):
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    mpl.rcParams['axes.unicode_minus'] = False
    plt.subplot(2,1,1)
    a = plt.hist(data1.score[data1['label'] == 0],bins=50)
    plt.title('flag=0')
    plt.subplot(2,1,2)
    b = plt.hist(data1.score[data1['label'] == 1],bins=50)
    plt.title('flag=1')
    plt.legend(handles=[a,b], loc='upper left')
    plt.grid(True)
    plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值