基於python的matplotlib制作雙Y軸圖
一、函數介紹
函數:twin()函數 含義:表示共享x軸,共享表示的就是x軸使用同一刻度
二、實際應用
2.1 實驗數據展示
數據表的名稱:600001SH.xlsx
2.2 代碼實現:
文章裡使用到瞭Subplot()函數
# 導入相關數據包 import matplotlib.pyplot as plt import pandas as pd plt.rcParams['font.sans-serif'] = ['SimHei'] # 設置字體 plt.rcParams['axes.unicode_minus'] = False # 設置正負號 # 讀取數據 path='600001SH.xlsx' df = pd.read_excel(path) # 將日期設置為列索引 df.index=pd.to_datetime(df['日期']) # 得到2月的數據 feb_days = df['2015-02'] # 第一步,完成簡單的單軸 x = feb_days.index.tolist() # 獲取到X軸日期數據 y_1 = feb_days['開盤價(元)'].values.tolist() # Y軸數據1 y_2 = feb_days['成交量(股)'].values.tolist() # Y軸數據2 # 設置畫板 fig = plt.figure(figsize=(10,8),dpi=80) # 添加Axes坐標軸實例,創建1個畫板 ax = fig.add_subplot(111) # 制作第一條折現 lin1 = ax.plot(x, y_1, label='開盤價', color='r') ax.set_xlabel('日期') # 設置Y軸1 ax.set_ylabel('開盤價(元)') # 使用twinx()函數實現共用一個x軸 ax2 = ax.twinx() # 制作第二條折現 lin2 = ax2.plot(x, y_2, label='成交量', color='green') # 設置Y軸2 ax2.set_ylabel('成交量(股)') # 合並圖例 lines = lin1+lin2 labs = [label.get_label() for label in lines] ax.legend(lines,labs) # 增加網格線 ax.grid() plt.show()
2.3 最終結果顯示
到此這篇關於基於python的matplotlib制作雙Y軸圖的文章就介紹到這瞭,更多相關python制作雙Y軸圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found