我正在尝试使地图线始终位于数据之上,但是找不到正确的命令/选项来实现此目的。在下面的图中,我希望粗蓝线“位于”黑色状态线下方,但位于米色状态的上方。
代码:
import matplotlib.pyplot as plt
import numpy as np
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import os,sys
conus_proj = ccrs.LambertConformal(central_longitude=-96,central_latitude=39.0)
fig = plt.figure(figsize=(10,8))
ax = fig.add_subplot(1,1,1,projection=conus_proj)
ax.set_extent([-120,-70,22,50])
#ax.add_feature(cfeature.BORDERS)
ax.add_feature(cfeature.COASTLINE)
ax.add_feature(cfeature.OCEAN, facecolor='#CCFEFF')
ax.add_feature(cfeature.LAKES, facecolor='#CCFEFF')
ax.add_feature(cfeature.RIVERS, facecolor='#CCFEFF')
ax.add_feature(cfeature.LAND, facecolor='#FFE9B5')
state_borders = cfeature.NaturalEarthFeature(category='cultural', name='admin_1_states_provinces_lakes', scale='50m', facecolor='#FFE9B5')
ax.add_feature(state_borders, edgecolor='black')
plt.plot([-120,-70],[35,45],linewidth=8, transform=ccrs.PlateCarree())
plt.show()
我尝试更改ax.add_feature(state_borders...)
和plt.plot(...)
的zorder,但收到了奇怪的结果。默认情况下,pcolormesh
的状态边框位于顶部,而plt.plot
的状态边框似乎并非如此
答案 0 :(得分:1)
<root>
<stock>
<code>Apple</code>
<primary>
<img_file>1.jpg</img_file>
<main_image>1</main_image>
</primary>
<images>
<image>
<img_file>2.jpg</img_file>
<main_image>0</main_image>
</image>
</images>
</stock>
</root>
与class Person:
def __init__(self,name,weight):
self.name=name
self.weight=weight
def BMI(self):
return self.name
return self.weight
person1=Person("john",52)
print(person1.BMI())
之所以不同的原因是,它们具有不同的默认zorder。如果我将州边界的zorder设置为10(请注意下面,我使用Cartopy对状态的内置支持),则它们会显示在图的顶部:
pcolormesh
我还必须去除某些功能上的脸部颜色。