基于python的matplotlib制作双Y轴图

一、函数介绍

函数:twin()函数含义:表示共享x轴,共享表示的就是x轴使用同一刻度

二、实际应用

2.1 实验数据展示

数据表的名称:600001SH.xlsx

2.2 代码实现:

文章里使用到了Subplot()函数

# 导入相关数据包import matplotlib.pyplot as pltimport pandas as pdplt.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轴数据1y_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轴1ax.set_ylabel('开盘价(元)')# 使用twinx()函数实现共用一个x轴ax2 = ax.twinx()# 制作第二条折现lin2 = ax2.plot(x, y_2, label='成交量', color='green')# 设置Y轴2ax2.set_ylabel('成交量(股)')# 合并图例lines = lin1+lin2labs = [label.get_label() for label in lines]ax.legend(lines,labs)# 增加网格线ax.grid()plt.show()

2.3 最终结果显示

到此这篇关于基于python的matplotlib制作双Y轴图的文章就介绍到这了,更多相关python制作双Y轴图内容请搜索 以前的文章或继续浏览下面的相关文章希望大家以后多多支持 !

相关文章

发表新评论