Matplotlib 极区图,极区图由一系列呈放射状延申的区域组成,其中每块区域占据一定的角度。因此若要用极区图表示两个不同的数值,分别指定它们在极区图中所占的分量:每块区域的半径r和它所占的角度,就是极坐标(r,θ)。
阅读本章内容可以先了解极客教程的前面几个章节介绍的Matplotlib相关知识:等值线图,饼图,条形图,直方图,线性图
从图表的角度来看,可以将极区图看作兼有饼图和条状图特点的图表,之所以说它像饼图,是因为每个区域的角度所表示的是其所属类别占全部类别的比例;说它像饼图,是因为半径的长度表示某一类别的数值大小。可以参考后面生成的图形。
我们经常使用的是标准颜色集,每种颜色用单一颜色编码来表示(如:r表示红色)。事实上我们可以自定义任意的颜色列表,方法是指定颜色列表,其中每个元素为字符串类型的RGB编码,格式为#rrggbb,如下所示:
制作极区图需要使用bar()函数,把角度θ列表和半径列表传递给它,如下所示:
import matplotlib.pyplot as plt import numpy as np N = 8 '''生成角度值''' theta = np.arange(0.,2*np.pi,2*np.pi/N) '''生成半径值''' radii = np.array([4,7,5,3,1,5,6,7]) '''定义轴类型''' plt.axes([0.025,0.025,0.95,0.95],polar=True) '''定义颜色集,这里使用RGB值,当然也可以使用颜色名称''' colors = np.array(['#4bb2c5','#c5b47f','#EAA228','#579575','#839557','#958c12','#953579','#4b5de4']) '''bar()函数要求传入角度和半径作为参数''' bars = plt.bar(theta,radii,width=(2*np.pi/N),bottom=0.0,color=colors) plt.show()
输出结果如下,直接使用RGB值得到的极区图:
如上所示,我们定义了一列##rrggbb格式的颜色值,我们也可以用颜色的实际名称来表示颜色,如下所示:
import matplotlib.pyplot as plt import numpy as np N = 8 '''生成角度值''' theta = np.arange(0.,2*np.pi,2*np.pi/N) '''生成半径值''' radii = np.array([4,7,5,3,1,5,6,7]) '''定义轴类型''' plt.axes([0.025,0.025,0.95,0.95],polar=True) '''定义颜色集,这里使用颜色名称,当然也可以使用RGB值''' colors = np.array(['lightgreen','darkred','navy','brown','violet','plum','yellow','darkgreen']) '''bar()函数要求传入角度和半径作为参数''' bars = plt.bar(theta,radii,width=(2*np.pi/N),bottom=0.0,color=colors) plt.show()
输出结果如下,使用颜色名称得到的极区图:
极客教程相关文章推荐:
Matplotlib 等值线图
Matplotlib 饼图
Matplotlib 水平条形图
Matplotlib 条形图
Matplotlib 直方图
Matplotlib 线性图
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com