如何将matplotlib plot设置为“no fill”?

chhqkbe1  于 2023-05-18  发布在  其他
关注(0)|答案(3)|浏览(181)

我想将一个图叠加到另一个图上(它们是多边形,实际上是在某个lat/lon空间中,使用geopandas,但图只是从matplotlib派生出来的)
我有:

figZ, axZ = plt.subplots(1, figsize=(11,8.5))
Sfig = X.plot(ax=axZ, color='white', edgecolor='black', lw=0.7)
Y.plot(ax=axZ, color='white', edgecolor='black', lw=0.7, alpha=0.3)

如何将Sfigcolor设置为“无填充”而不是白色?它现在的方式是,它“模糊”了我的Sfig图像(X.plot)的阿尔法Y.plot图像。如何将“颜色”设置为实际上透明?

nlejzf6q

nlejzf6q1#

我不指望有人支持,但这就是我找到的解决办法。如果有,我会选更好的:

Sfig = X.plot(ax=axZ, facecolor="none", 
              edgecolor='black', lw=0.7)
eqqqjvef

eqqqjvef2#

我知道这篇文章没有提到海运,但我怀疑很多人最终会在这里问海运这个问题(就像我一样)。
top answer几乎适用于seabornboxplots,你只需要将它传递为boxprops

sns.boxplot(data=data, x=x, y=y, hue=hue, boxprops=dict(facecolor="none"))

注意:我强调此解决方案仅适用于箱线图。有一个more general was of doing this with the new object API在海上。

wljmcqd8

wljmcqd83#

要禁用facecolor*,只需设置(0,0,0,0)**,即

Sfig = set_facecolor((0,0,0,0))

相关问题