首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少Matplotlib Errorbar Caps

缺少Matplotlib Errorbar Caps
EN

Stack Overflow用户
提问于 2013-08-26 06:45:29
回答 3查看 30.2K关注 0票数 26

我试图在matplotlib中创建一个带有errorbar的散点图。下面是我的代码的示例:

代码语言:javascript
复制
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吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-26 10:28:05

对我来说起作用的是添加这个(根据:How to set the line width of error bar caps, in matplotlib):

代码语言:javascript
复制
(_, caps, _) = plt.errorbar(x,y, yerr=err, capsize=20, elinewidth=3)

for cap in caps:
    cap.set_color('red')
    cap.set_markeredgewidth(10)
票数 23
EN

Stack Overflow用户

发布于 2018-04-15 12:21:53

这与matplotlib中的rcParams有关。要解决此问题,请在脚本的开头添加以下行:

代码语言:javascript
复制
import matplotlib
matplotlib.rcParams.update({'errorbar.capsize': 2})

它也适用于plt.bar()

票数 16
EN

Stack Overflow用户

发布于 2019-02-02 05:22:52

对astromax的回答稍作简化:

代码语言:javascript
复制
plt.errorbar(x,y, yerr=err, capsize=20, elinewidth=3, markeredgewidth=10)

不知怎么的,markeredgewidth有时默认为0。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18434492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档