标记的大小作为错误栏
Size of the marker as errorbar
我会使用标记本身的大小作为错误栏。我的意思是标记的上边缘应该是误差线的上限,下边缘应该是下限。
有可能吗?
谢谢
首先,要有不同的标记大小,您必须分别绘制误差线和散点图。
其次,scatter中的markersize是圆的面积。因此,markersize 与 errorbar 的大小比例为
标记大小 ~ 错误^2
图中的具体大小取决于很多因素,例如 ylim、xlim、图的尺寸等
最好的办法是定义一个乘数,并不断更改它,直到标记的边界遇到误差条的上限。在以下示例中,multiplier = 1550
将完成这项工作。
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
x = np.linspace(0, 10, 2)
errors = [1,5]
y = np.sin(x) + errors
multiplier = 1550
markersize = [(i ** 2)*multiplier for i in errors]
plt.errorbar(x, y, yerr=errors, fmt='-ok',linewidth = 1, capsize=20, elinewidth=3)
plt.scatter(x, y, s = markersize)
我会使用标记本身的大小作为错误栏。我的意思是标记的上边缘应该是误差线的上限,下边缘应该是下限。 有可能吗?
谢谢
首先,要有不同的标记大小,您必须分别绘制误差线和散点图。
其次,scatter中的markersize是圆的面积。因此,markersize 与 errorbar 的大小比例为
标记大小 ~ 错误^2
图中的具体大小取决于很多因素,例如 ylim、xlim、图的尺寸等
最好的办法是定义一个乘数,并不断更改它,直到标记的边界遇到误差条的上限。在以下示例中,multiplier = 1550
将完成这项工作。
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
x = np.linspace(0, 10, 2)
errors = [1,5]
y = np.sin(x) + errors
multiplier = 1550
markersize = [(i ** 2)*multiplier for i in errors]
plt.errorbar(x, y, yerr=errors, fmt='-ok',linewidth = 1, capsize=20, elinewidth=3)
plt.scatter(x, y, s = markersize)