我试图在matplotlib中创建一个带有错误条的散点图。下面是我的代码的示例:
import matplotlib.pyplot as plt
import numpy as np
import random
x = np.linspace(1,2,10)
y = np.linspace(2,3,10)
err = [random.uniform(0,1) for i in range(10)]
plt.errorbar(x, y,
yerr=err,
marker='o',
color='k',
ecolor='k',
markerfacecolor='g',
label="series 2",
capsize=5,
linestyle='None')
plt.show()
问题是输出的图根本不包含上限!x1c 0d1x
不管怎样,我用的是Ubuntu 13.04,Python 2.7.5| Anaconda 1.6.1(64-bit)|和Matplotlib 1.2.1。
这可能是一个需要覆盖的隐藏rcparam吗?
4条答案
按热度按时间yrdbyhpb1#
对我有用的是添加这个(按照:How to set the line width of error bar caps, in matplotlib):
x4shl7ld2#
对astromax的回答稍作简化:
似乎markedgewidth有时默认为0。
vwoqyblh3#
它与matplotlib中的rcParams有关。要解决它,请在脚本的开头添加以下行:
它也适用于
plt.bar()
。gz5pxeao4#
关于
markeredgewidth
的答案是有效的。现在有一个新的参数,它对capthick
的 * 帽厚度 * 有更好的描述。来自matplotlib
的3.7.2
版本的文档。