如何改变Matplotlib底图上标记的亮度?

时间:2012-02-22 23:59:35

标签: python matplotlib

此代码通过alpha参数改变matplotlib基本地图上标记的透明度。

myBaseMap.plot(x_values, y_values, 'x', alpha=0.7, c=(1.,0,0))

但是,如何改变标记的亮度?我不想要半透明标记,因为我希望标记覆盖它们背后的内容。谢谢!

2 个答案:

答案 0 :(得分:1)

我对您的问题的解读是,您想知道如何为线条和标记获得不同的透明度。

执行此操作的一种方法是使用scatter绘制标记:

myBaseMap.plot(x_values, y_values, alpha=0.7, c=(1.,0,0), zorder=0)
myBaseMap.scatter(x_values, y_values, marker='x', color=(1.,0,0), zorder=1)

首先绘制较低的zorder个数字。

简单示例:

import matplotlib.pyplot as plt
plt.plot([1,2,3],[3,2,1],alpha=0.25,c=(1.,0,0),zorder=0)
plt.scatter([1,2,3],[3,2,1],marker='x',color=(1.,0,0),zorder=1,s=75,alpha=1.0)

enter image description here

答案 1 :(得分:1)

如果你想改变亮度,比如深红色和浅红色,那么你可以将颜色从(0,0,0)(黑色)线性变化到(1,0,0),这是红色,到(1,1,1),这是白色的,只留下阿尔法。

但我不太确定这是你想要的......