基于python的matplotlib制作双Y轴图
短信预约 -IT技能 免费直播动态提醒
一、函数介绍
函数: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轴图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341