Matplotlib 文本Cartopy的错位注释

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

在文档之后,cartopy中的文本注释函数的行为遇到了一个有趣的问题,我认为不应该这样做-相信它与文本方法如何进行转换并应用它有关,可能类似于这里为.annotate()显示的问题。基本上,无论根据lat/lon和变换指定了什么,它总是在绘图的中心点进行绘图。代码示例如下:

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过程……这也是链接的问题所告诉我们的。