Errorbar图透明度重叠

问题描述 投票:2回答:1

在错误栏matplotlib图中,当我使用alpha参数时,相同颜色的主线,标记和错误栏在其countour上彼此重叠。尽管我的目标是使两种不同颜色之间具有透明性,但不能在同一颜色内实现透明性,好像相同的颜色线,标记和错误栏只是一个对象。有可能吗?

import matplotlib.pyplot as plt
import numpy as np

Time = np.array([1, 2, 3])
Green = np.array([3, 5, 9])
Blue = np.array([4, 7, 13])

Green_StDev = np.array([0.6, 0.6, 0.7])
Blue_StDev = np.array([0.5, 0.5, 0.6])

plt.errorbar(Time, Green, Green_StDev, marker='o', c='green', alpha=0.5)

plt.errorbar(Time, Blue, Blue_StDev, marker='o', c='blue', alpha=0.5)

plt.show()

enter image description here

类似于下面的示例,但仅在不同颜色对象之间具有透明性,与上面的示例不同。

enter image description here

matplotlib alpha errorbar
1个回答
0
投票

我认为您不能将它们作为一个对象绘制,因为它们(标记和错误栏)是分别绘制的。但是,要使其更“美观”,可以重绘非透明标记:

import matplotlib.pyplot as plt
import numpy as np

Time = np.array([1, 2, 3])
Green = np.array([3, 5, 9])
Blue = np.array([4, 7, 13])

Green_StDev = np.array([0.6, 0.6, 0.7])
Blue_StDev = np.array([0.5, 0.5, 0.6])

plt.errorbar(Time, Green, Green_StDev, marker='o', c='green', alpha=0.5)
# Add additional marker
plt.scatter(Time, Green,marker='o', c='green')

plt.errorbar(Time, Blue, Blue_StDev, marker='o', c='blue', alpha=0.5)
# Add additional marker
plt.scatter(Time, Blue, marker='o', c='blue')

plt.show()

Output

© www.soinside.com 2019 - 2024. All rights reserved.