Python Matplotlib做(柱+折線)組合圖加資料標籤
阿新 • • 發佈:2018-11-10
import seaborn as sns import matplotlib import matplotlib.pyplot as plt #設定字型、圖形樣式 sns.set_style("whitegrid") matplotlib.rcParams['font.sans-serif'] = ['SimHei'] matplotlib.rcParams['font.family']='sans-serif' matplotlib.rcParams['axes.unicode_minus'] = False #matplotlib.fontsize='15' #取做圖資料 x=range(len(gsbf['統計日期'])) y1=gsbf['累計保費'] y2=gsbf['同比(%)'] #設定圖形大小 plt.rcParams['figure.figsize'] = (12.0,5.0) fig = plt.figure() #畫柱子 ax1 = fig.add_subplot(111) ax1.bar(x, y1,alpha=.7,color='g') ax1.set_ylabel('累計保費(萬元)',fontsize='15') ax1.set_title("近年同期公司累計保費收入與同比增速",fontsize='20') plt.yticks(fontsize=15) plt.xticks(x,gsbf['統計日期']) plt.xticks(fontsize=15) #畫折線圖 ax2 = ax1.twinx() # 這個很重要噢 ax2.plot(x, y2, 'r',marker='*',ms=10) ax2.set_xlim([-0.5,3.5]) ax2.set_ylim([0,45]) ax2.set_ylabel('同比增速(%)',fontsize='15') ax2.set_xlabel('同比增速(%)') #縱軸標籤 plt.yticks(fontsize=15) plt.xticks(x,gsbf['統計日期']) plt.xticks(fontsize=15) plt.grid(False) #新增資料標籤 for x, y ,z in zip(x,y2,y1): plt.text(x, y+0.3, str(y), ha='center', va='bottom', fontsize=20,rotation=0) plt.text(x, z-z, str(int(z)), ha='center', va='bottom', fontsize=21,rotation=0) #儲存圖片 dpi為影象解析度 plt.savefig('e:/tj/month/fx1806/公司保費增速與同比.png',dpi=600,bbox_inches = 'tight') #顯示圖片 plt.show()
效果如下: