python 用Matplotlib作图中有多个Y轴

当需要在一个图中,将两个或以上的不同的 Y 轴进行同步展示时,可以借助 Matplotlib 库实现。以下是实现方法的完整攻略。

1. 导入 Matplotlib 库

import matplotlib.pyplot as plt

2. 新建画布和子图

  • figsize 参数用于设置画布的大小
  • constrained_layout 参数可以使图表自动调整大小,防止子图间互相重叠
fig, ax1 = plt.subplots(figsize=(8,6),constrained_layout=True)

3. 添加第一个 Y 轴

ax1.set_ylabel('y1', fontsize=16)

4. 添加第二个 Y 轴

ax2 = ax1.twinx()
ax2.set_ylabel('y2', fontsize=16)

5. 绘制第一个 Y 轴对应的曲线

ax1.plot(x, y1, label='y1_label')

6. 绘制第二个 Y 轴对应的曲线

ax2.plot(x, y2, label='y2_label')

7. 添加图例

ax1.legend(loc='upper left')
ax2.legend(loc='upper right')

下面是两条具体示例:

示例1:双 Y 轴同步显示

import numpy as np

#生成数据
x = np.linspace(0, 10, 1000)
y1 = np.sin(x)
y2 = np.exp(x/10)

#新建画布
fig, ax1 = plt.subplots(figsize=(8,6),constrained_layout=True)

#添加第一个 Y 轴
ax1.set_ylabel('y1', fontsize=16)

#添加第二个 Y 轴
ax2 = ax1.twinx()
ax2.set_ylabel('y2', fontsize=16)

#绘制第一个 Y 轴对应的曲线
ax1.plot(x, y1, label='y1_label')

#绘制第二个 Y 轴对应的曲线
ax2.plot(x, y2, label='y2_label')

#添加图例
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')

#显示图表
plt.show()

示例2:三 Y 轴同步显示

import numpy as np

#生成数据
x = np.linspace(0, 10, 1000)
y1 = np.sin(x)
y2 = np.exp(x/10)
y3 = np.log(x)

#新建画布
fig, ax1 = plt.subplots(figsize=(8,6),constrained_layout=True)

#添加第一个 Y 轴
ax1.set_ylabel('y1', fontsize=16)

#添加第二个 Y 轴
ax2 = ax1.twinx()
ax2.set_ylabel('y2', fontsize=16)

#添加第三个 Y 轴
ax3 = ax1.twinx()
ax3.spines['right'].set_position(('axes', 1.2))
ax3.set_ylabel('y3', fontsize=16)

#绘制第一个 Y 轴对应的曲线
ax1.plot(x, y1, label='y1_label')

#绘制第二个 Y 轴对应的曲线
ax2.plot(x, y2, label='y2_label')

#绘制第三个 Y 轴对应的曲线
ax3.plot(x, y3, label='y3_label', color='green')

#添加图例
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')
ax3.legend(loc='lower right')

#显示图表
plt.show()

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 用Matplotlib作图中有多个Y轴 - Python技术站

(0)
上一篇 2023年6月14日
下一篇 2023年6月14日

相关文章

  • 从Pandas的约会中获得一天的时间

    获取Pandas的约会数据集中的日期信息,可以通过以下几个步骤实现: 步骤1:导入Pandas和读取数据 import pandas as pd data = pd.read_csv(‘dating.csv’) 在这里,我们首先导入Pandas包,并读取数据集。 步骤2:将日期列转换为datetime格式 data[‘date’] = pd.to_datet…

    python-answer 2023年3月27日
    00
  • pandas string转dataframe的方法

    将Pandas String转换为DataFrame的方法有很多,下面介绍两种常用的方法。 方法一:使用read_csv函数 使用pandas模块的read_csv函数,将文本行转换成为带标签列的DataFrame数据。该函数有许多参数,可以灵活地控制文件内容的解析和转换结果的性质。 示例 例如将下面的一段csv格式文本内容转化为DataFrame: imp…

    python 2023年5月14日
    00
  • 在python中pandas读文件,有中文字符的方法

    在Python中使用Pandas读取文件,如果文件中包含中文或其他非英文字符,需要注意编码格式。在读取文件时必须指定正确的编码格式,以便能够正确地读取中文字符。 以下是读取CSV文件中含有中文字符的方法: 方法一:指定编码方式 可以在读取csv文件时指定编码方式,示例代码如下: import pandas as pd df = pd.read_csv(‘fi…

    python 2023年5月14日
    00
  • Pandas对象使用自定义函数的3个方法!

    Pandas为什么要使用自定义函数? 使用自定义函数可以让我们更灵活地对数据进行处理和分析。在某些情况下,内置的函数可能无法满足我们的需求,例如需要进行特定的数据清洗、转换或计算。这时候,我们可以编写自己的函数来处理数据。同时,自定义函数也可以让我们更好地复用代码,提高开发效率。 接下来我们将详细介绍Pandas使用自定义函数的4种方法。 Pandas使用自…

    Pandas 2023年3月4日
    00
  • Pandas通过行或列的总和来过滤一个数据框架

    Pandas是一个强大的Python数据分析库,可以通过行或列的总和来过滤一个数据框架。下面是通过行或列的总和来过滤一个数据框架的详细攻略: 1. 导入pandas模块并创建数据框架 首先需要导入pandas模块,然后创建一个数据框架以便我们可以使用。 import pandas as pd #创建数据框架 data = {‘A’: [1, 2, 3, 4]…

    python-answer 2023年3月27日
    00
  • Python如何快速生成本项目的requeirments.txt实现

    生成Python项目的 requirements.txt 文件是为了便于其他人协作开发或者部署你的项目时,能够方便地安装项目所需的依赖包。下面是一份实现该操作的完整攻略。 步骤一:安装pipreqs 打开终端并输入以下命令,安装 pipreqs: bash pip install pipreqs 完成安装后,你可以输入下面的命令检查 pipreqs 是否安装…

    python 2023年5月14日
    00
  • 如何将Pandas DataFrame写到PostgreSQL表中

    下面是详细的攻略: 1. 准备工作 首先,我们需要安装好Pandas和psycopg2模块,psycopg2用来连接和操作PostgreSQL数据库。可以通过以下命令安装: pip install pandas psycopg2 安装完成后,我们需要连接到PostgreSQL数据库。可以使用以下代码: import psycopg2 conn = psyco…

    python-answer 2023年3月27日
    00
  • python 使用pandas读取csv文件的方法

    下面是关于“python 使用pandas读取csv文件的方法”的完整攻略: 1. 安装pandas库 要使用pandas,我们需要首先安装pandas库。可以使用pip工具进行安装,命令如下: pip install pandas 2. 导入pandas库 安装完pandas库后,在要使用它的程序中需要进行导入操作。可以使用以下代码导入pandas: im…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部