[英]Matplotlib Errorbar Caps Missing
我正在尝试在 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()
问题是输出的情节根本不包含大写!
就其价值而言,我使用的是 Ubuntu 13.04、Python 2.7.5 |Anaconda 1.6.1(64 位)| 和 Matplotlib 1.2.1。
这可能是一个需要覆盖的隐藏 rcparam 吗?
对我有用的是添加这个(根据: 如何在 matplotlib 中设置误差条上限的线宽):
(_, caps, _) = plt.errorbar(x,y, yerr=err, capsize=20, elinewidth=3)
for cap in caps:
cap.set_color('red')
cap.set_markeredgewidth(10)
它与 matplotlib 中的 rcParams 有关。 要解决它,请在脚本的开头添加以下几行:
import matplotlib
matplotlib.rcParams.update({'errorbar.capsize': 2})
它也适用于plt.bar()
。
astromax 的回答略有简化:
plt.errorbar(x,y, yerr=err, capsize=20, elinewidth=3, markeredgewidth=10)
似乎有时markeredgewidth 以某种方式默认为0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.