前述已经学习了直方图、3D图、实现图、散点图等多种图形画法,它们都位于常规的直角坐标系,今天我们尝试探索新的方法:极坐标画图。
【1】官网教程
按照惯例,还是乖乖打开官网教程,链接如下:
https://matplotlib.org/stable/gallery/pie_and_polar_charts/polar_demo.html
打开后我们看到提示:
Polar plot
Demo of a line plot on a polar axis.
根据对代码的理解和应用,此处尝试解释代码如下:
【2】代码解读
首先依然是左右护法:做计算的numpy和画图的matplotlib
import matplotlib.pyplot as plt #引入matplotlib模块画图 import numpy as np #引入numpy模块做数学计算
然后是自变量、因变量定义:
r = np.arange(0, 2, 0.01) #划分自变量的点,范围[0,2) theta = 2 * np.pi * r #定义一个因变量theta
再之后尝试画图:
画图部分:
【a】通过projection告知subplots画图类型是极坐标ploar
fig, ax = plt.subplots(subplot_kw={'projection': 'polar'}) #画图,用ax控制坐标轴属性
【b】设置需要关键显示的半径、标签位置和是否增加网格
ax.plot(theta, r) #画图,极坐标的角度是theta,半径是r ax.set_rmax(2) #设置极坐标最大半径是2 ax.set_rticks([0.5, 1, 1.5, 2]) # Less radial ticks,设置一些关键半径数据[0.5, 1, 1.5, 2] ax.set_rlabel_position(-22.5) # Move radial labels away from plotted line #设置标签位置 ax.grid(True) #图形增加网格
【c】输出图形
ax.set_title("A line plot on a polar axis", va='bottom') #设置图名 plt.show() #输出图形
图1
【3】 修改代码
【2.1】删除ax.set_rticks代码
ax.set_rticks设置了一些需要关键显示的半径,现在将其删除,获得输出结果为:
图2
和图1相比,图2现实的半径数据明显增多。
【2.2】修改ax.set_rlabel_position中的数据为90
ax.set_rlabel_position定义了标签的位置为-22.5°,极坐标的角度是以X轴为起点,逆时针旋转取正角度,顺时针旋转取负角度。图1和图2中,显示半径的数值标签对应的角度都是-22.5°。
此处修改ax.set_rlabel_position中的数据为90,输出结果为:
图3
由图3可见,所有半径的数值标签都转移到90°线上。
【4】总结
本文学习了极坐标图形的初步画法,尝试修改了洗完显示的关键半径和属猪半径坐标数值标签的位置。
标签:polar,set,python,画图,基础教程,半径,ax,极坐标 From: https://blog.csdn.net/weixin_44855046/article/details/142062462