python中画极坐标图——以GNSS卫星空天图为例

这个代码主要是我同门写的,我在这里整理一下。

import math
import matplotlib.pyplot as plt

ax = plt.subplot(111, projection='polar')  # projection='polar'-->设为极坐标

ax.set_theta_direction(-1)                 #设置极坐标方向:-1->顺时针;1->逆时针

ax.set_theta_zero_location('N')            #设置极角初始值位置(默认是东-->右侧)
ax.yaxis.set_label_position('right')
ax.tick_params('y', labelleft=False)       #不显示极径刻度值
ax.grid(linestyle = '--')                  #设置线型
labels = ['N', '45°', 'E', '135°', 'S', '225°', 'W', '315°']
ax.set_thetagrids(range(0, 360, 45), labels, fontweight='semibold')   #设置极角显示的刻度值

# SATAZ:卫星的方位角, SATEL:卫星的高度角 c = ax.scatter(SATAZ,SATEL, marker=".",alpha=0.75) #用来画散点图,marker-->控制点的形状, alpha-->控制透明度(0-1) SATAZ = [0,0,0,0,0,0] #卫星的空天图和极径方向正好相反,所以刻度值是自己画的 SATEL = [0,15,30,45,60,75] SATID = ['90', '75', '60', '45', '30', '15'] for i in range(0, 6): ax.text(SATAZ[i], SATEL[i], SATID[i]) #画极径刻度值(方法有点low) ax.set_rticks(range(0, 105, 15)) #极坐标标签显示范围 plt.show()

 

 
 
 
posted @ 2020-12-19 11:34  無常  阅读(1549)  评论(0编辑  收藏  举报