python - 单个子图 Pyplot 上的多种绘图类型

标签 python matplotlib

我目前正在尝试创建一个包含四个子图的图形。在每个子图中,我想绘制一个带有误差线的数据集。但是,对于其中一个数据集,我还想在同一个子图中绘制一个多项式拟合该数据。我的代码如下所示:

import matplotlib.pyplot as plt
import numpy as np

# define four sets of data here: x1, y1, yerr1, x2, y2, yerr2, etc...

fit1 = np.poly1d(np.polyfit(x1,y1,1))
xrange = np.linspace(min(x1), max(x1), num = 1000)

f, axarr = plt.subplots(2,2)
axarr[0,0].plot(xrange, fit1(xrange))
axarr[0,0].errorbar(x1, y1, yerr = yerr1, fmt = 'r.')
# and for the rest just the errorbar portion

plt.show()

但是,我得到的结果如下:

Bad graph

因此,我在第一个子图中拟合了数据集 1,在第二个子图中没有任何拟合,在第三个子图中拟合了数据集 1 和 2,在第四个子图中拟合了数据集 1 和 2。有什么方法可以让我得到我想要的东西(即适合子图 1 的数据集 1,适合子图 2 的数据集 2,等等)?

谢谢!

最佳答案

从你的代码中看不出你在做什么。但是您可以调用 plt.subplot(2,2,1) 然后对左上图执行所有绘图命令,然后调用 plt.subplot(2,2,2) 然后是你的绘图命令到下一个子图等。

Matplotlib 存储您的最后一个子图(或轴对象),所有绘图命令都绘制到最后一个子图中。

plt.subplot(2,2,1)
plt.plot(data_x,data_y,'o')
plt.plot(data_x,fit_y,'-')

plt.subplot(2,2,2)
plt.plot(...

关于python - 单个子图 Pyplot 上的多种绘图类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34213137/

相关文章:

python - 如果两列之间部分匹配成功则返回 True

python - 从 Python 中的颜色字典中绘制不同颜色的线条

python - 如何用python绘制一个平行于x轴和z轴的平面?

python - MATLAB 或 Python 中的卡通风格绘图?

python /Django : Why does importing a module right before using it prevent a circular import?

python - 将一个列表中的元素匹配到另一个列表,跳过已经匹配的元素,Python

python - python中具有不同x轴和y轴刻度的一个图中的两个(或更多)图

python - 使用 matplotlib 在 python 中绘制曲线决策边界

python - 具有多个 Pandas DataFrame 的并排箱线图

python - setup.py:限制python解释器的允许版本