python - 带有散点图的 Python 底图
问题描述
我正在尝试在带有散点图的底图上绘制纽约市和柏林的位置。
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
m = Basemap(projection='robin',lon_0=0,resolution='l')
# New York and Berlin
lats = (13.388889,52.516667)
lons = (-74.0059,40.7127)
m.drawcountries(color='#ffffff', linewidth=0.5)
m.fillcontinents(color='#c0c0c0',lake_color='#ffffff')
x, y = m(lons, lats) # transform coordinates
plt.scatter(x, y, 10, marker='o', color='Red')
plt.savefig("filename.svg", figsize=(24,12))
plt.show()
谁能帮助我并指出为什么一个点出现在错误的位置而另一个点根本没有出现?
解决方案
问题是你的坐标定义。你正在混合longitude
和latitude
。在检查了柏林和纽约的坐标后,定义如下:
# Berlin & New York
lats = [52.516667, 40.730610 ]
lons = [13.388889, -73.935242]
这里是整个代码:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
m = Basemap(projection='robin', lon_0=0, resolution='l')
# Berlin & New York
lats = [52.516667, 40.730610 ]
lons = [13.388889, -73.935242]
m.drawcountries(color='#ffffff', linewidth=0.5)
m.fillcontinents(color='#c0c0c0', lake_color='#ffffff')
x, y = m(lons, lats)
plt.plot(x, y, 'bo', color='r', markersize=5)
plt.show()
推荐阅读
- javascript - 不显示伪类,如何在 IE11 中修复?
- android - Flutter 的 VS 代码扩展
- c# - 使用 StringBuild 将字符串更改为小写,仅用于不均匀定位的字母
- docker - docker命令可以启动mysql容器,但是docker-compose.yml不能,可能是什么原因?
- machine-learning - 多类案例的混淆矩阵,所有评估指标的估计
- javascript - OpenLayers6检测光标何时离开地图
- java - 适用于 Java 应用程序的 Amazon Kinesis Data Analytics:反序列化传入消息中的 Avro 问题
- tesseract - 从 tika-server 获取 hocr 输出
- java - 如何在启动 Intent 后保持 TextView 和 Button 不可见
- laravel - Laravel 发送多个 HTTP 响应