1

我想知道是否可以在车站图上添加某种文本阴影以增加它们叠加在其他字段上时的对比度。当覆盖在可见卫星图像上时,我很难找到效果很好的颜色

这是我到目前为止所得到的:

stationplot_al = StationPlot(ax, data_als.lon.values, data_als.lat.values, clip_on=True,
                      transform=ccrs.PlateCarree(), fontsize=30)
stationplot_al.plot_parameter('NW', temp_al_c, color='mediumvioletred', weight='demibold')
stationplot_al.plot_parameter('SW', td_al_c, color='mediumvioletred', weight='demibold')
stationplot_al.plot_parameter('NE', data_als.mslp, formatter=lambda v: format(10 * v, '.0f')[-3:],color='orangered',fontsize=32, weight='demibold')
stationplot_al.plot_symbol('C', cf_al_all, sky_cover,color='mediumslateblue')
stationplot_al.plot_barb(u_al, v_al,length=11,linewidth=3.5,barbcolor='mediumslateblue')
4

1 回答 1

1

您可以使用 matplotlib 中称为路径效果的功能。路径效果允许向由文本、线条等绘制的路径添加一些渲染效果。有一个使用阴影的选项,但我认为对于这种情况,大纲可以解决问题:

import matplotlib.patheffects as mpatheffects

outline = [mpatheffects.withStroke(linewidth=1, foreground='black')]
stationplot_al.plot_parameter('NW', temp_al_c, color='mediumvioletred',
                              weight='semibold', path_effects=outline)

请注意,matplotlib 期望在path_effects参数中传递一个效果列表。您可以使用linewidthforeground参数分别控制轮廓的宽度和颜色。

于 2018-08-10T03:37:27.507 回答