我知道如何在matplotlib中设置行的透明度。例如,下面的代码使线条和标记透明。
import numpy as np
import matplotlib.pyplot as plt
vec = np.random.uniform(0, 10, 50)
f = plt.figure(1)
ax = f.add_subplot(111)
ax.plot(vec, color='#999999', marker='s', alpha=0.5)
我希望线条的alpha=1.0,标记的面颜色为半透明(alpha=0.5)。这可以在matplotlib中完成吗?
2条答案
按热度按时间z9gpfhce1#
请参阅下面@Pelson的答案,了解用一行代码实现这一目标的正确方法。
您可以通过将两个独立的
Line2D
对象粘在一起的方式来实现这一点。请参阅此处了解说明
5t7ly7z52#
在阅读了
matplotlib.line
的源代码后,发现有一个代码路径(至少在Agg中是这样,但可能是所有后端)允许您这样做。我不确定这是否是故意的行为,但目前肯定有效。关键是 * 不是 * 为线条定义alpha值,而是定义所需的颜色沿着alpha值:这些可能可以作为
plt.plot
中的参数给出,因此只需就可以了
高温加热