在errorbar matplotlib图中,当我使用alpha参数时,主线、标记和相同颜色的errorbar在它们的正方形上相互重叠。虽然我的目标是在两种不同的颜色之间有一个透明度,但不是在相同的颜色内,就好像相同的色线、标记和错误条只是一个对象。这有可能吗?
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()

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

发布于 2020-01-08 22:57:46
我认为你不能将它们作为一个单独的对象来绘制,因为它们(标记和误差条)是单独绘制的。但是,为了让它更“美观”,你可以重新绘制一个非透明的标记:
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()

https://stackoverflow.com/questions/59634566
复制相似问题