簡體   English   中英

Matplotlib Errorbar Caps 丟失

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM