【记录】python画图双y轴图例合并,图例位置控制,输出为svg格式,保存图片白边大小控制

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams

config = {
            "font.family": 'serif',
            # "font.family": 'Times New Roman',
            "font.size": 12,
            "mathtext.fontset": 'stix',
            "font.serif": ['SimSun'],
         }
rcParams.update(config)
# config中的font.size不能调整图片标题字体的大小
# 可设置字体为宋体或者新罗马

x = np.arange(1, 24 + 1).reshape(24).tolist()
y1 = x
y2 = np.arange(24, 0, -1).reshape(24).tolist()

fig = plt.figure(figsize=(5, 3))
ax = fig.add_subplot(111)
# zorder可以调整图片层级
ax.plot(x, y1, marker='.', label='正比例函数', zorder=2)
# 第二个y轴
ax2 = ax.twinx()
ax2.plot(x, y2, marker='.', color='darkorange', label='反比例函数', zorder=2)
# 使用fig.legend()可以合并两条线的图例;(loc,bbox_to_anchor)用于控制图例位置;ncol用于控制图例的列数
fig.legend(loc='lower right', bbox_to_anchor=(0.7, 0), bbox_transform=ax.transAxes, ncol=1)
ax.grid(zorder=1)
ax.set_xlabel('横坐标')
ax.set_ylabel('纵坐标1')
ax2.set_ylabel('纵坐标2')
# 设置图片标题并设置字体大小
ax.set_title('线性函数', fontsize=12)
# 调整图片白边比例
plt.subplots_adjust(top=0.88, bottom=0.2, right=0.88, left=0.125, hspace=0.2, wspace=0.2)
# 保存为svg格式
plt.savefig('正比例函数.svg')
plt.show()

在这里插入图片描述