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