我有一個相當混亂的情節,所以爲了整理它,我想通過減少它們的alpha值來使那些具有較大誤差條的點變得不太重要。優選地,我想根據錯誤欄大小將連續比例的alpha值(如colourmap)映射到每個點及其錯誤欄 - 我不太確定要做到這一點的最佳/有效方法是什麼。在matplotlib中縮放誤差條的透明度
1
A
回答
0
您可以將顏色設置爲散點圖上的第三個變量(請參閱此answer)。要更改alpha,只能根據縮放範圍更改顏色的第四個值(透明度)。作爲一個小例子,
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 20, 100)
y = np.sin(x)
z = x + 20 * y
scaled_z = (z - z.min())/z.ptp()
colors = [[0., 0., 0., i] for i in scaled_z]
plt.scatter(x, y, marker='x', edgecolors=colors, s=150, linewidths=4)
plt.show()
1
你當然可以設置errorbars的α,但我認爲你需要單獨繪製每一個因爲Matplotlib不會設置不透明度(或顏色)的垂直線和標題到一個序列(據我所知)。
如果你想標記有自己的不透明性匹配errorbars,它可能更容易建立的顏色基於一些標準化的序列:
import numpy as np
import matplotlib.pyplot as plt
n = 20
x = np.linspace(1, 10, n)
y = x - x**2
minerr = 2
yerr = abs(np.random.randn(n) * 15) + minerr
maxerr = max(yerr)
err_range = maxerr - minerr
alphas = [1 - (err-minerr)/(err_range) for err in yerr]
colors = np.asarray([(1,0,0, alpha) for alpha in alphas])
plt.scatter(x,y, c=colors, edgecolors=colors)
for pos, ypt, err, color in zip(x, y, yerr, colors):
plotline, caplines, (barlinecols,) = plt.errorbar(pos, ypt, err, lw=2, color=color, capsize=5, capthick=2)
plt.xlim(0,11)
plt.show()
然而,你可能要考慮關於您創建的效果是否可能歪曲您的數據(即,使其看起來更加準確,而不是僅強調具有小誤差線的點)。
相關問題
- 1. Matplotlib透明線條圖
- 2. 改變的透明度/在Matplotlib
- 3. 差異透明度的iOS
- 4. 圖像透明度差
- 5. 繪製透明縮放PNG
- 6. 不透明度,同時與matplotlib
- 7. 蟒蛇matplotlib傳說不透明度
- 8. 縮放,掩蔽,不透明度在d3.js
- 9. 線條和不透明度
- 10. 透明背景進度條?
- 11. 如何在Matplotlib的3D散點圖中關閉透明度?
- 12. 透明差距
- 13. Python matplotlib - > 3D條形圖 - >調整刻度標籤的位置,透明條
- 14. PIL保存透明度和顏色的縮放圖像?
- 15. JButton的不透明度/半透明度?
- 16. Chrome中的CSS rgba透明度錯誤?
- 17. SDL_image PNG透明度錯誤
- 18. IE8不透明度錯誤
- 19. jQuery,縮略圖不透明度
- 20. 基於Matplotlib中的像素值設置透明度
- 21. 覆蓋matplotlib中的透明路徑?
- 22. 縮放進度條值
- 23. 不對稱繪製誤差條Matplotlib
- 24. matplotlib酒吧不對稱誤差條
- 25. Matplotlib誤差線
- 26. 整體SVG不透明度/透明度
- 27. 透明度在IE中
- 28. 縮放地塊matplotlib
- 29. Matplotlib自動縮放
- 30. 返回的內容的不透明度低透明度DIV中