国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python繪制組合圖的示例

瀏覽:27日期:2022-07-11 08:06:20

繪制組合圖:

組合圖就是將多個形狀,組合到⼀個圖形中,主要作⽤是節約作圖的空間,節省讀者的時間,從⽽提⾼信息傳達的效率。

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltdef plot_combination1(): sale = pd.read_excel(’./data/每月目標銷售額和實際銷售額.xlsx’,header=0,index_col=0) # 設置正常顯示中文標簽 plt.rcParams[’font.sans-serif’] = [’SimHei’] # 正常顯示負號 plt.rcParams[’axes.unicode_minus’] = False # 設置字體大小 plt.rcParams.update({’font.size’:16}) # 提取數據 x = np.arange(12)+1 y1 = sale.目標銷售額 y2 = sale.實際銷售額 # 計算目標完成率 y3 = y2/y1 # float # print(y3) 1月 1.120000 2月 0.887500 3月 1.118182 4月 1.150000 ''' 第一種方式:是⽤兩個不同顏⾊的柱⼦,分別展示每個⽉的實際銷售額和⽬標銷售額, ⽤折線圖展示⽬標完成率。 左邊的主坐標軸是柱形圖對應的數據,右邊的次坐標軸是折線圖對應的 數據,下邊的橫坐標軸表示細分的維度,⽐如時間、地區、渠道等。 ''' plt.figure(figsize=(16,8)) plt.subplot(111) # 柱形寬度 bar_width = 0.35 # 在主坐標軸繪制柱形圖 plt.bar(x,y1,bar_width,label=’目標銷售額’) plt.bar(x+bar_width,y2,bar_width,label=’實際銷售額’) # 設置坐標軸的取值范圍,避免柱子過高而與圖例重疊 plt.ylim(0,max(y1.max(),y2.max())*1.2) # 設置圖例 plt.legend(loc=’upper left’) # 設置橫坐標的標簽 plt.xticks(x) # plt.set_xticklabels(sale.index) # 在次坐標軸上繪制折線圖 plt.twinx() # ls:線的類型,lw:寬度,o:在頂點處實心圈 plt.plot(x,y3,ls=’-’,lw=2,color=’r’,marker=’o’,label=’目標完成率’) # 設置次坐標軸的取值范圍,避免折線圖波動過大 plt.ylim(0,1.35) # 設置圖例 plt.legend() # 定義顯示百分號的函數 def to_percent(number, position=0): return ’%.f’ % (number * 100) + ’%’ # 次坐標軸的標簽顯示百分號 FuncFormatter:自定義格式函數包 from matplotlib.ticker import FuncFormatter plt.gca().yaxis.set_major_formatter(FuncFormatter(to_percent)) # 設置標題 plt.title(’n每月銷售目標達成情況n’,fontsize=36,loc=’center’,color = ’k’) plt.show()def plot_combination2(): ''' 第二種方式:是⽤兩條不同顏⾊的折線,分別展示每個⽉的實際銷售額和⽬標銷售額,再⽤兩種不同顏 ⾊的柱形圖展示實際與⽬標的差額,綠⾊代表完成⽬標,紅⾊代表沒有完成⽬標, 這種組合圖不需要⽤到兩個縱坐標軸, ''' import pandas as pd import numpy as np import matplotlib.pyplot as plt # 設置正常顯示中⽂標簽 plt.rcParams[’font.sans-serif’] = [’SimHei’] # 正常顯示負號 plt.rcParams[’axes.unicode_minus’] = False # 設置字體⼤⼩ plt.rcParams.update({’font.size’: 16}) # 從 Excel ⽂件中讀取數據,第⼀列設置為索引 sale = pd.read_excel(’./data/每月目標銷售額和實際銷售額.xlsx’, index_col=0) # 提取數據 # print(’index’) x = sale.index # Index([’1月’, ’2月’, ’3月’, ’4月’, ’5月’, ’6月’, ’7月’, ’8月’, ’9月’, ’10月’, ’11月’, ’12月’], dtype=’object’, name=’month’) # print(x) y1 = sale.目標銷售額 y2 = sale.實際銷售額 # 計算差額 y3 = y2 - y1 # 繪制折線圖 plt.figure(figsize=(16, 8)) plt.subplot(111) plt.plot(x, y1, ls=’-’, lw=2, label=’目標銷售額’) plt.plot(x, y2, ls=’--’, lw=2, label=’實際銷售額’) # ⽤列表推導式定義柱⼦的顏⾊,綠⾊代表完成⽬標, 紅⾊代表沒有完成⽬標 color = [’g’ if i > 0 else ’#dc5034’ for i in y3] # 繪制柱形圖 plt.bar(x, y3, color=color, label=’差額’) # 設置圖例 plt.legend(loc=’upper left’) # 設置標題 title = ’n每月銷售目標達成情況n’ plt.title(title, fontsize=36, loc=’center’, color=’k’) plt.show()if __name__ == ’__main__’: plot_combination1() plot_combination2()

繪制結果:

第一種

Python繪制組合圖的示例

第二種:

Python繪制組合圖的示例

參考書目:

數據化分析 Python 實戰 - 林驥

以上就是Python繪制組合圖的示例的詳細內容,更多關于Python繪制組合圖的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 精品96在线观看影院 | 99国产精品欧美久久久久久影院 | 玖玖精品在线 | 久久成 | 国产视频在线免费观看 | 亚洲国产经典 | 日本加勒比在线 | 亚洲自偷自偷图片在线高清 | 欧美视频区| 成人午夜亚洲影视在线观看 | 国产日韩欧美在线观看播放 | 国产成人盗拍精品免费视频 | 一区二区三区四区五区六区 | 91精品国产免费久久久久久青草 | 久久成人免费视频 | 国产片毛片 | 国产精品日韩欧美一区二区三区 | 欧美性一区二区三区 | 一区二区三区 亚洲区 | 中国一级毛片欧美一级毛片 | 亚洲网美女 | 黄网在线免费 | 男人精品一线视频在线观看 | 亚洲国产成人九九综合 | 成人福利在线 | 一个人看的日本www的免费视频 | 免费国产成人18在线观看 | 2021国产精品自在拍在线播放 | 精品国产日韩亚洲一区在线 | 国产在线精品成人一区二区三区 | 久久国产精品1区2区3区网页 | 夜间福利在线观看 | 男人和女人在床做黄的网站 | 精品视频一区在线观看 | 国产美女视频黄a视频全免费网站 | 精品欧美一区二区三区免费观看 | 国产成人精品日本亚洲专区6 | 男女免费观看在线爽爽爽视频 | 欧美精品一区二区三区免费 | 美女张开腿让男人操 | 青青自拍视频一区二区三区 |