【发布时间】:2015-10-08 03:25:30
【问题描述】:
对于绘制天空图,我刚刚从 Basemap 切换到 cartopy,我更喜欢它 .
(主要原因是某些计算机上的 Basemap 段错误,我无法修复)。
唯一让我苦苦挣扎的事情是获得一个 tissot 圆圈(用于显示我们望远镜的视锥。)
这是一些绘制随机星星的示例代码(我使用真实的目录):
import matplotlib.pyplot as plt
from cartopy import crs
import numpy as np
# create some random stars:
n_stars = 100
azimuth = np.random.uniform(0, 360, n_stars)
altitude = np.random.uniform(75, 90, n_stars)
brightness = np.random.normal(8, 2, n_stars)
fig = plt.figure()
ax = fig.add_subplot(1,1,1, projection=crs.NorthPolarStereo())
ax.background_patch.set_facecolor('black')
ax.set_extent([-180, 180, 75, 90], crs.PlateCarree())
plot = ax.scatter(
azimuth,
altitude,
c=brightness,
s=0.5*(-brightness + brightness.max())**2,
transform=crs.PlateCarree(),
cmap='gray_r',
)
plt.show()
如何向该图像添加具有一定半径的天梭圆度数? https://en.wikipedia.org/wiki/Tissot%27s_indicatrix
【问题讨论】:
标签: matplotlib cartopy