Matplotlib 文本Cartopy的错位注释
在文档之后,cartopy中的文本注释函数的行为遇到了一个有趣的问题,我认为不应该这样做-相信它与文本方法如何进行转换并应用它有关,可能类似于这里为.annotate()显示的问题。基本上,无论根据lat/lon和变换指定了什么,它总是在绘图的中心点进行绘图。代码示例如下:Matplotlib 文本Cartopy的错位注释,matplotlib,cartopy,Matplotlib,Cartopy,在文档之后,cartopy中的文本注释函数的行为遇到了一个有趣的问题,我认为不应该这样做-相信它与文本方法如何进行转换并应用它有关,可能类似于这里为.annotate()显示的问题。基本上,无论根据lat/lon和变换指定了什么,它总是在绘图的中心点进行绘图。代码示例如下: import cartopy.crs as ccrs import cartopy.feature as cfeature import cartopy.io.shapereader as shpreader from ma
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import cartopy.io.shapereader as shpreader
from matplotlib.colors import BoundaryNorm
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.patheffects as path_effects
def basic_map(proj):
fig = plt.figure(figsize=(12, 8))
view = fig.add_axes([0, 0, 1, 1], projection=proj)
view.set_extent([-120, -73, 23, 50])
view.add_feature(cfeature.STATES.with_scale('50m'))
view.add_feature(cfeature.OCEAN.with_scale('50m'),facecolor='white')
view.add_feature(cfeature.COASTLINE.with_scale('50m'))
view.add_feature(cfeature.BORDERS, linestyle=':')
return fig, view
proj = ccrs.AlbersEqualArea(central_longitude=-97.0000, central_latitude=38.0000)
fig, view = basic_map(prod)
view.text(-70,41, 'Northeast', color='black', fontsize=20, fontweight='bold',transform=proj,
path_effects=[path_effects.withSimplePatchShadow(),path_effects.PathPatchEffect(edgecolor='black', linewidth=0.6,facecolor='black')])
似乎链接问题的答案已经告诉了您解决方案。你试过了吗?在多大程度上它不起作用?这个解决方案不起作用。然而,多亏了一位同事的建议,我发现通过将proj作为“转换”参数,我犯了一个错误。lat-lon的输入转换需要是ccrs.PlateCarre(),否则它会认为这是AEA过程……这也是链接的问题所告诉我们的。