【Matplotlib-9】共用坐标轴(在一个坐标轴下绘制多个图形)& 图像保存

注意:这不是在一个子区内绘制多个曲线,而是绘制多个图形。只是共用了某条坐标轴的刻度。本质上是多个图。

(1)一个子区内共享坐标轴

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
x = np.linspace(0, 10, 1000)
y1 = x**2
fig,ax1 = plt.subplots(1,1)
ax1.plot(x, y1, ls='-', lw=2, c='r')
ax1.tick_params("y", colors='r')
y2 = x + 10
ax2 = ax1.twinx()
ax2.plot(x, y2, ls='-', lw=2, c='blue')
ax2.tick_params("y", colors='blue')
# ax1.plot(x, y2, ls='-', lw=2, c='blue')
plt.show()

image-20220228111813968

上图本质上是2个图,所以曲线间的相对位置和交点没有意义

如果要花交点,要把两个曲线绘制在同一个ax中

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
x = np.linspace(0, 10, 1000)
y1 = x**2
fig,ax1 = plt.subplots(1,1)
ax1.plot(x, y1, ls='-', lw=2, c='r')
ax1.tick_params("y", colors='r')
y2 = x + 10
ax1.plot(x, y2, ls='-', lw=2, c='blue')
plt.show()

image-20220228112308802


10. 图像保存

plt.savefig(path)
posted @   徘徊彼岸花  阅读(484)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示