我有一个相当混乱的情节,所以为了整理它,我想通过减少它们的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. 蟒蛇matplotlib传说不透明度
- 6. 缩放,掩蔽,不透明度在d3.js
- 7. 透明背景进度条?
- 8. 线条和不透明度
- 9. 透明差距
- 10. Python matplotlib - > 3D条形图 - >调整刻度标签的位置,透明条
- 11. SDL_image PNG透明度错误
- 12. 缩放进度条值
- 13. 整体SVG不透明度/透明度
- 14. 透明度在IE中
- 15. Matplotlib自动缩放
- 16. 缩放地块matplotlib
- 17. 制作误差线Excel图表透明
- 18. 顺差是透明,同时使用PNG透明和不透明
- 19. 透明GZIP压缩
- 20. 设置散点透明度从数据阵列中matplotlib情节
- 21. Matplotlib:绘制具有不透明边缘的透明直方图
- 22. HTML5拖放 - 没有透明度?
- 23. 在matplotlib中制作log2缩放热图
- 24. Matplotlib在图像透明填充
- 25. 条形图透明度不起作用
- 26. appcompat v7 23,动作条,透明度
- 27. WPF中的透明度
- 28. PyGTK中的Widget透明度?
- 29. div中的不透明度
- 30. FreeImage中的透明度