如果我有像这样的MWE散点图:

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(5)
fig = plt.figure()
ax = fig.add_subplot(111)
xlist = []
ylist = []
for i in range(500):
    x = np.random.normal(100)
    xlist.append(x)
    y = np.random.normal(5)
    ylist.append(y)

x_ave = np.average(x)
y_ave = np.average(y)
plt.scatter(xlist, ylist)
plt.scatter(x_ave, y_ave, c = 'red', marker = '*', s = 50)


python - 散点图上的平均点和标准偏差条-LMLPHP

在图上绘制“平均点”(是否有合适的词?)的最简单方法是什么?我发现的所有教程和示例都显示了如何绘制最佳拟合线,但是我只想单点。

绘制(x_ave, y_ave)是可行的,但是有没有更好的方法,特别是因为我最终还是想显示带有误差线的标准偏差?

最佳答案

如果要绘制带有误差线的单个散点,最好的方法是使用errorbar模块。以下答案显示了将其用于误差条的自定义属性以及x和y的平均点的标准偏差均为1的示例。您可以在xerryerr中指定实际的标准偏差值。可以使用this解决方案从图例中删除误差线。

plt.scatter(xlist, ylist)

plt.errorbar(x_ave, y_ave, yerr=1, xerr=1, fmt='*', color='red', ecolor='black', ms=20,
             elinewidth=4, capsize=10, capthick=4, label='Average')

handles, labels = ax.get_legend_handles_labels()
handles = [h[0] for h in handles]
ax.legend(handles, labels, loc='best', fontsize=16)


python - 散点图上的平均点和标准偏差条-LMLPHP

关于python - 散点图上的平均点和标准偏差条,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55912292/

10-12 21:05