首页 > 其他分享 >绘制双Y轴图

绘制双Y轴图

时间:2024-07-17 12:30:09浏览次数:7  
标签:轴图 ax2 set 16 ax1 fontsize tab 绘制

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数据分析》

标签:轴图,ax2,set,16,ax1,fontsize,tab,绘制
From: https://www.cnblogs.com/DavidShang/p/18307048

相关文章

  • 绘制局部放大图
    1.导入数据库importseabornassnssns.set_style('whitegrid')plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=FalseSeaborn库简介:Seaborn是一个基于Python的数据可视化库,它建立在Matplotlib之上,提供了一种高级的接......
  • 绘制雷达图
    1.导入数据库importpandasaspdimportmatplotlib.pyplotaspltimportnumpyasnpfromscipyimportinterpolate2.导入数据path=r'path'data=pd.read_excel(path,sheet_name='雷达图',index_col=0)data展示数据:290m312m0°62.654.545°......
  • python:绘制对数函数的曲线
    《高等数学》同济大学出版:对数函数,e=2.718281828459...为自然常数编写 test_log_x.py 如下#-*-coding:utf-8-*-"""绘制对数函数y=log(x)和y=log2(x)的曲线"""importnumpyasnpfrommatplotlibimportpyplotasplt#用于正常显示中文标题,负号plt.......
  • C++ OPENGL 贝塞尔曲线绘制
    代码 #include<glad/glad.h>#include<GLFW/glfw3.h>#include<iostream>#include<vector>structPoint{floatx;floaty;};//二次贝塞尔Pointbezier(floatt,Pointa,Pointc,Pointz){return{(1-t)*(1......
  • 通过MATLAB控制TI毫米波雷达的工作状态之TLV数据解析及绘制
    前言前一章博主介绍了如何基于设计视图中的这些组件结合MATLAB代码来实现TI毫米波雷达数据的实时采集。这一章将在此基础上实现TI毫米波雷达的TLV数据解析。过程中部分算法会涉及到一些简单的毫米波雷达相关算法,需要各位有一定的毫米波雷达基础。TLV数据之协议解析紧着上......
  • Qt-绘制运动方向控制按钮
    源代码:qianqiu10000/myDirectionButton效果图:↓1.在AutoCAD中绘制自己想要的按钮轮廓2.调整CAD中的坐标系,与Qt窗口坐标系一致,如图所示Y方向朝下3.继承QWidget,按照CAD中的坐标点绘制,并添加一些颜色变化#ifndefMYDIRECTIONBUTTON_H#defineMYDIRECTIONBUTTON_H#inclu......
  • 【可视化大屏系列】Echarts之饼图绘制
    本文为个人近期学习总结,若有错误之处,欢迎指出!Echarts之饼图绘制前言1.需求2.实现效果3.大概思路4.代码实现子组件写法父组件写法5.附加(1)圆环饼图的绘制(2)南丁格尔玫瑰饼图A.半径展示数据的大小B.面积展示数据的大小前言在前文页面布局、DataV的使用、Echarts......
  • C++使用gnuplot-cpp库绘制图像
    最近想要对一些时变的变量进行可视化,搜索来搜索去选择了使用gnuplot这个工具。sudoapt-getinstallgnuplotsudoapt-getinstallgnuplot-x11#使其支持linux终端这样就安装完gnuplot了。接着可以在命令行中键入gnuplot命令打开gnuplot的交互式环境。由于这里着目于使用c++......
  • 13 - matlab m_map地学绘图工具基础函数 - 介绍创建管理颜色映射的函数m_colmap和轮廓
    13-matlabm_map地学绘图工具基础函数-介绍创建管理颜色映射的函数m_colmap和轮廓图绘制颜色条的函数m_contfbar0.引言1.关于m_colmap2.关于m_contfbar3.结语0.引言  本篇介绍下m_map中用于创建和管理颜色映射函数(m_colmap)和为轮廓图绘制颜色条的函......
  • YOLOv8中根据标签绘制真实框
    这个在写论文的过程中获取展示图片的时侯可能会需要用的。最近也是自己在弄目标检测方面的东西,然后这也是自己碰到的问题,想着能分享一下,希望对有需要的人有所帮助。也欢迎大家来讨论问题、交流心得。importcv2importos#定义输入文件夹和输出文件夹路径input_img_folder......