绘制均值和标准差

tea*_*eef 51 python plot matplotlib

我在不同的x点有几个函数值.我想在python中绘制mean和std,就像这个SO问题的答案一样.我知道使用matplotlib这一定很容易,但我不知道函数的名称可以做到这一点.有谁知道吗?

在此输入图像描述

Ffi*_*ydd 71

plt.errorbar可用于绘制x,y,错误数据(与通常相反plt.plot)

import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.power(x, 2) # Effectively y = x**2
e = np.array([1.5, 2.6, 3.7, 4.6, 5.5])

plt.errorbar(x, y, e, linestyle='None', marker='^')

plt.show()
Run Code Online (Sandbox Code Playgroud)

plt.errorbar接受相同的参数plt.plot与另外yerrxerr其默认为无(即如果你保留空白,将作为动作plt.plot).

示例图

  • 要在蜡烛的顶部和底部添加那些小的水平线,请指定倾覆选项。例如 plt.errorbar(x, y, e, linestyle='None', marker='^', capsize=3) (9认同)

Kiw*_*iwi 8

您可以通过此示例找到答案:errorbar_demo_features.py

"""
Demo of errorbar function with different ways of specifying error bars.

Errors can be specified as a constant value (as shown in `errorbar_demo.py`),
or as demonstrated in this example, they can be specified by an N x 1 or 2 x N,
where N is the number of data points.

N x 1:
    Error varies for each point, but the error values are symmetric (i.e. the
    lower and upper values are equal).

2 x N:
    Error varies for each point, and the lower and upper limits (in that order)
    are different (asymmetric case)

In addition, this example demonstrates how to use log scale with errorbar.
"""
import numpy as np
import matplotlib.pyplot as plt

# example data
x = np.arange(0.1, 4, 0.5)
y = np.exp(-x)
# example error bar values that vary with x-position
error = 0.1 + 0.2 * x
# error bar values w/ different -/+ errors
lower_error = 0.4 * error
upper_error = error
asymmetric_error = [lower_error, upper_error]

fig, (ax0, ax1) = plt.subplots(nrows=2, sharex=True)
ax0.errorbar(x, y, yerr=error, fmt='-o')
ax0.set_title('variable, symmetric error')

ax1.errorbar(x, y, xerr=asymmetric_error, fmt='o')
ax1.set_title('variable, asymmetric error')
ax1.set_yscale('log')
plt.show()
Run Code Online (Sandbox Code Playgroud)

这个图是这样的:

在此输入图像描述

  • 如果您在此处发布相关代码,而不仅仅是链接,那将会更好. (3认同)