【问题标题】:Coloring points based on a variable value基于变量值的着色点
【发布时间】:2020-04-02 19:47:21
【问题描述】:
我有一个气象站网络的温度值数据集。我希望在地图上绘制数据,并根据该站的温度对点进行着色。在 Python/Matplotlib 中是否有这样的功能可以做到这一点?
供参考:我的数据集位于 netCDF 文件中,包含每个站的纬度/经度值。温度变量是站点和时间的函数。到目前为止,我已经使用 Cartopy 在地图上绘制了点,但每个点使用一种颜色。
【问题讨论】:
标签:
python
matplotlib
colors
cartopy
【解决方案1】:
您正在寻找 scatter 绘图命令,使用 c 参数:
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
import numpy as np
lon = np.random.rand(50) * 50 - 120
lat = np.random.rand(50) * 25 + 25
temps = np.random.randn(50) * 10 + 25
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection=ccrs.LambertConformal())
ax.scatter(lon, lat, c=temps, transform=ccrs.PlateCarree())
ax.add_feature(cfeature.COASTLINE)
ax.add_feature(cfeature.BORDERS)