直方图和折线图放在同一画布上

有时候我们需要画出分箱后的个数直方图和每个区间的逾期率,大概图形就像下面一样

 

 直接给出代码

#构建数据
import pandas as pd 
import numpy as np
data = pd.DataFrame({
    'A':list('红橙黄绿蓝靛紫'),
    'B':np.random.randint(1,100,7),
    'C':(np.random.randint(1,10,7))*0.1},
    columns=list('ABC')
)

#画图
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
ax1.bar(data.A,data.B,color='green')
ax2 = ax1.twinx() 
ax2.plot(data.A,data.C,color='red')

 

 数据值虚构和随机的,所以画出来的图不是很好看

主要重点在

ax2 = ax1.twinx() 作用是y轴的副坐标,也即是设置右边的y坐标,我们将这二者放在一起,一般二者的刻度尺是不一样的,没有设置不同刻度,折线的(比例)就无法体现出来

 

posted on 2020-12-09 14:25  小小喽啰  阅读(1247)  评论(0编辑  收藏  举报