Python发射导弹的正确方式

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
#创建一个fig对象,自定义fig的尺寸
fig=plt.figure(figsize=(30,35))
#划分fig并且选择一个子图给ax变量
ax=fig.add_subplot(1,1,1)
#用Basemap()创建一个地图实例m,
m=Basemap(projection='mill',llcrnrlat=20,urcrnrlat=50,llcrnrlon=70,
          urcrnrlon=150)
#绘制海岸线
m.drawcoastlines()
#绘制国家,linewidth表示国界线的粗细值
m.drawcountries(linewidth=2)
#绘制河流
m.drawrivers()
#设置东京,长崎,广岛,大阪的经纬度坐标
#bjlat,bjlon are lat/lon of Beijing 北京的经纬度
bjlat=40;bjlon=116
#tokyolat,tokyotlon表示东京的经纬度
tokyolat,tokyolon=35.42,139.46
#广岛坐标
Hiroshima_lat,Hiroshima_lon=34.24,132.27
#大阪的坐标
Osaka_lat,Osaka_lon=34.4,135.3
#长崎坐标
Nagaski_lat,Nagaski_lon=32.46,129.52
#绘制经线和纬线
#draw parallels
m.drawparallels(np.arange(10,90,20),labels=[1,1,0,1])
#draw meridians
m.drawmeridians(np.arange(-180,180,30),labels=[1,1,0,1])
#写一个函数标记地图上城市位置
def Draw_position(lon,lat,city,mark,markersize=100):
    xpt,ypt=m(lon,lat)
    #convert back to lat/lon
    lonpt,latpt=m(xpt,ypt,inverse=True)
    m.plot(xpt,ypt,mark,markersize)#plot a blue dot there
    plt.text(xpt+100000,ypt+100000,city)

#绘制北京,东京,长崎,广岛,大阪的坐标
    Draw_position(139.16,35.42,"Tokyo",'c*',100)
    Draw_position(116,40,"Beijing",'g^',100)
    Draw_position(132.27,34.24,"Hiroshima",'c*',100)
    Draw_position(135.3,34.4,"Osaka",'c*',100)
    Draw_position(Nagaski_lat,Nagaski_lon,"Nagasaki",'c*',100)
#绘制两个城市的连接线,这里连接北京和日本的四个城市
    m.drawgreatcircle(bjlon,bjlat,tokyolon,tokyolat,linewidth=4,color='b')
    m.drawgreatcircle(bjlon,bjlat,Hiroshima_lon,Hiroshima_lat,linewidth=4,color='r')
    m.drawgreatcircle(bjlon,bjlat,Osaka_lon,Osaka_lat,linewidth=4,color='y')
    m.drawgreatcircle(bjlon,bjlat,Nagaski_lat,Nagaski_lon,linewidth=4,color='r')

#etopo()函数绘制的地图更三维和形象
    m.etopo()
    plt.title("Bomb Japs made by Toby!")
    #最终提示
    plt.show()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值