首页 > Python资料 博客日记
绘制双Y轴图
2024-07-17 12:30:02Python资料围观199次
本篇文章分享绘制双Y轴图,对你有帮助的话记得收藏一下,看Python资料网收获更多编程知识
1.导入数据库
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
2.导入数据
path=r'path'
df = pd.read_csv(path)
x = df['date']
y1 = df['psavert']
y2 = df['unemploy']
3.绘制左侧曲线
fig,ax1 = plt.subplots(1,1,figsize = (16,7),dpi = 80)
ax1.plot(x,y1,color = 'tab:red')
4.绘制右侧曲线
ax2 = ax1.twinx()
ax2.plot(x,y2,color = 'tab:blue')
ax2 = ax1.twinx()函数简介:
在Matplotlib中,ax1.twinx() 方法用于创建一个共享x轴的第二个轴(ax2),这在需要在同一个图表上展示两个不同尺度或度量的数据时非常有用。这种方法常用于创建双y轴图表,其中一个轴显示左侧y轴的数据,另一个轴显示右侧y轴的数据。以下是使用 ax1.twinx() 方法创建双y轴图表的基本步骤:
- 创建主轴:首先,创建一个主轴(ax1),并在其上绘制数据。
- 创建第二个轴:使用 ax1.twinx() 方法创建第二个轴(ax2),这个轴将共享 ax1 的x轴。
- 在第二个轴上绘制数据:在 ax2 上绘制第二组数据,通常使用不同的y轴刻度。
- 设置第二个轴的刻度和标签:为 ax2 设置合适的刻度、标签和标题。
5.设置坐标轴
ax1.set_xlabel('日期',fontsize = 16)
ax1.set_ylabel('储蓄率',color = 'tab:red',fontsize = 16)
ax1.tick_params(axis = 'y',rotation = 0,labelcolor = 'tab:red')
ax2.set_ylabel('失业人数(1000)',color = 'tab:blue',fontsize = 16)
ax2.tick_params(axis = 'y',labelcolor = 'tab:blue')
ax2.set_title('储蓄率vs失业率',fontsize = 16)
ax2.set_xticks(np.arange(0,len(x),60))
ax2.set_xticklabels(x[::60],rotation = 90,fontdict = {'fontsize':10})
plt.show()
输出结果展示:
完整代码
## (1)导入数据库
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
##(2)导入数据
path=r'path'
df = pd.read_csv(path)
x = df['date']
y1 = df['psavert']
y2 = df['unemploy']
##(3)绘制左侧曲线
fig,ax1 = plt.subplots(1,1,figsize = (16,7),dpi = 80)
ax1.plot(x,y1,color = 'tab:red')
## (4)绘制右侧曲线
ax2 = ax1.twinx()
ax2.plot(x,y2,color = 'tab:blue')
## (5)设置坐标轴
ax1.set_xlabel('日期',fontsize = 16)
ax1.set_ylabel('储蓄率',color = 'tab:red',fontsize = 16)
ax1.tick_params(axis = 'y',rotation = 0,labelcolor = 'tab:red')
ax2.set_ylabel('失业人数(1000)',color = 'tab:blue',fontsize = 16)
ax2.tick_params(axis = 'y',labelcolor = 'tab:blue')
ax2.set_title('储蓄率vs失业率',fontsize = 16)
ax2.set_xticks(np.arange(0,len(x),60))
ax2.set_xticklabels(x[::60],rotation = 90,fontdict = {'fontsize':10})
plt.show()
说明:该案例来源于《Python数据分析》
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程