Python新手求教:如何在Matplotlib中实现同一坐标轴画图
from numpy.random import randn fig = plt.figure();ax = fig.add_subplot(1,1,1)
ax.plot(a,'k',label = 'PESQ_sender') ax.plot(b,'g',label = 'MOSLQO_sender') ax.plot(c,'r',label = 'PESQ_receiver') ax.plot(d,'y',label = 'MOSLQO_receiver')
这样写的代码 a,b,c,d 是四个列表 在一张图上画,执行结果 Y 轴不统一,怎么才是设置成统一的刻度。
Python新手求教:如何在Matplotlib中实现同一坐标轴画图
xlim ylim
在Matplotlib里,同一个坐标轴上画多个图很简单,核心就是重复调用plot()函数。下面给你一个完整的例子:
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.sin(x) * np.cos(x)
# 创建图形和坐标轴
fig, ax = plt.subplots()
# 在同一个坐标轴上绘制多条曲线
ax.plot(x, y1, label='sin(x)', color='blue', linewidth=2)
ax.plot(x, y2, label='cos(x)', color='red', linestyle='--')
ax.plot(x, y3, label='sin(x)*cos(x)', color='green', linewidth=1.5)
# 添加图例和标签
ax.legend()
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.set_title('同一坐标轴多曲线示例')
# 显示图形
plt.show()
关键点就一个:创建ax对象后,多次调用ax.plot()。每次调用都会在同一个坐标轴上添加新曲线。用label参数给每条线命名,最后用ax.legend()显示图例来区分它们。
如果你想用更简洁的面向过程风格,也可以直接用plt.plot():
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.plot(x, y3, label='sin(x)*cos(x)')
plt.legend()
plt.show()
两种方式效果一样,看你喜欢哪种风格。
总结:多次调用plot函数就行。
里面的参数是怎么回事啊?怎么感觉完全没有规律
哪里用 matlab 了,
画图基本照着 matplotlib 官方文档 gallary 里面的例子依葫芦画瓢就可以了
链接是我之前自己总结的 matplotlib 的常用方法,不过建议你参考 matplotlib 官方文档。
https://gist.github.com/guoli100/ef60abf8eaed5569cdc4682737cb8fe3
看文档去吧少年…
把 Label 隐藏掉,然后 xlim xlim

