绘制双Y轴图

news/2024/11/15 15:53:05/文章来源:https://www.cnblogs.com/DavidShang/p/18307048

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()

输出结果展示:
image

完整代码
## (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数据分析》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/745166.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务注册/发现-Eureka-微服务核心组件【分布式微服务笔记02】

服务注册/发现-Eureka-微服务核心组件【分布式微服务笔记02】 服务注册/发现-Eureka 目前主流的服务注册&发现的组件是Nacos, 但是Eureka 作为一个老牌经典的服务注册&发现技术还是有必要学习一下, 原因:一些早期的分布式微服务项目使用的是Eureka,在工作中, 完全有可…

Toshiba东芝硬盘开盘数据恢复

一、开盘数据恢复的前提 当硬盘出现物理性损坏,如磁头损坏、盘片划伤等,导致数据无法通过常规手段读取时,开盘数据恢复成为唯一可行的选择。 需要明确的是,开盘数据恢复应在数据无法通过恢复或其他非开盘手段解决的情况下进行。 二、开盘数据恢复的步骤 准备阶段 在无尘环境…

磁头损坏的修复方法有哪些

一、更换磁头 购配件盘:首先,需购一块与故障硬盘同型号、同批次或同时期的配件盘。这是因为磁头的规格和兼容性对于修复成功至关重要。 无尘室操作:在无尘室环境下进行操作,以防止灰尘等杂质对硬盘内部造成进一步污染。 更换磁头:将故障硬盘的磁头取下,并替换为配件盘上的…

关于三星SSD移动硬盘的维修与数据恢复

通常涉及多个方面,包括故障诊断、硬件维修以及数据恢复等。 一、故障诊断 检查连接: 确保SSD移动硬盘与计算机的连接是稳定的,检查数据线是否损坏或接触不良。 尝试更换不同的USB端口或电脑进行测试,以排除USB接口问题。 电源检查: 确认移动硬盘的电源供应是否正常,特别是…

硬盘如何维修数据恢复

一、硬盘维修方法 检查硬件连接: 确保硬盘与计算机的连接线(如SATA线、电源线)插紧且没有损坏。 尝试更换连接线或使用主板上的其他接口,以排除连接线或接口故障的可能性。 使用系统自带工具: 在Windows系统中,可以使用“磁盘检查”工具(chkdsk)来检测和修复硬盘上的文…

产品探秘:智影AI——你的创意视频制作神器!

从文字到图片再到视频的智能创作工具。只需3步,把小说变成视频。免费试用,首次注册赠送600积分。只需3步,把小说变成视频。免费试用,首次注册赠送600积分。 https://icomicai.com/在这个快节奏的时代,创意与效率并重成为了我们追求的新风尚。今天,就让我带你一起揭秘一款颠…

如何在Mac上隐藏APP? 在Mac上隐藏不用的APP小技巧

在Mac电脑中我们每天要使用很多APP,虽然Mac切换APP窗口的快捷键非常方便,但同时使用几个APP窗口是不是特别容易搞混?看起来乱糟糟的。下面我们分享在Mac上隐藏不用的APP小技巧,让用户摆脱混乱的APP窗口。 1、在Mac电脑中,打开你想要保留的APP;2、点击屏幕顶部菜单栏中APP…

帝国cms、以下状况或错误提示,是没有按照安装说明中讲的“初始化内置数据”这个步骤操作的原因:

1、增加信息提示“建立目录不成功!请检查目录权限”; 2、除了首页外,其他页面都打不开; 3、页面的CSS地址错误。本文来自博客园,作者:黄文Rex,转载请注明原文链接:https://www.cnblogs.com/hwrex/p/18306966

DC8渗透报告

概述测试目的测试范围序号系统IP1本机192.168.152.1282DC8192.168.152.139详细测试流程1、发现测试目标2、信息收集3、漏洞利用sqlmap -u http://192.168.152.139?nid=1 --random-agent --level 3 --risk 3 --current-db --is-dba --batch –dbs发现不是dba有2个数据库然后逐步…

使用forEach循环异步方法,导致使用深拷贝时,得不到最新数据,控制台会打印出最新的数据

解决forEach不能处理异步方法问题在使用forEach循环遍历一个数组,如果循环时有异步方法,会导致最终深拷贝得不到最新数据,但是控制台会打印最新的数据 `const arr = [ { name: "Jone", age: 18 }, { name: "Tom", age: 15 }, { name: "Liu", …

Mac ssh自动输入密码

1. 需要在Mac上安装expect,如果已经安装过可以省略这一步 Mac 上安装一般是使用homebrew安装,在终端上输入brew install expect可以安装,如果还未安装过homebrew的朋友参考https://www.cnblogs.com/orzs/p/18306760或自行百度。2. 编写脚本 第一个脚本autossh.exp#!/usr/bin…

windows动态磁盘扩容

1. 基本磁盘 基本磁盘的卷旁边没有未分配空间的话,是无法进行扩容的 2. 动态磁盘 动态磁盘旁边没未分配空间的话可以扩容,会在原本最后面一共卷后在追加一个卷空间(与被扩容卷同名)其他 动态磁盘与基本磁盘对比: 一块基本磁盘只能包含4个分区,它们是最多三个主分区和一个…