( 图表 ) 极座标长条图
这篇教学会延伸 matplotlib 的 bar() 方法,搭配极座标的显示模式,将数据绘制成极座标长条图。
本篇使用的 Python 版本为 3.7.12,所有范例可使用 Google Colab 实作,不用安装任何软件 ( 参考:使用 Google Colab )
import matplotlib
要进行本篇的范例,必须先加载 matplotlib 函数库的 pyplot 模组,范例将其独立命名为 plt。
import matplotlib.pyplot as plt
单一数据的极座标长条图
下方的程序码延伸了长条图的做法,先将 x 轴的数据转换为“弧度”,再将数据以长条图的方式,显示在极座标系统里。
import matplotlib.pyplot as plt
x = x = [math.radians(i*72) for i in range(5)] # 由角度轉換成弧度
y = [7,8,5,12,6]
fig = plt.figure(figsize=(6,6))
plt.subplot(projection='polar') # 設定 projection='polar' 表示極座標系統
# plt.subplot(polar=True)
plt.bar(x,y)
plt.show()
多组数据的极座标长条图
如果有多组数据,除了可以设定每笔数据的间隔角度,也可透过不同的颜色区隔,下方透过极座标长条图的方式,显示两组数据 ( 一组有十笔,另一组有五笔 )。
import matplotlib.pyplot as plt
import math
import random
x1 = [math.radians(random.randint(0,360)) for i in range(10)] # 隨機十個 0~360 度的數值,轉換成弧度
y1 = [random.randint(1,30) for i in range(10)] # 隨機十個 1~30 的數據
x2 = [math.radians(random.randint(0,360)) for i in range(5)] # 隨機五個 0~360 度的數值,轉換成弧度
y2 = [random.randint(1,30) for i in range(5)] # 隨機五個 1~30 的數據
fig = plt.figure(figsize=(6,6))
ax = plt.subplot(projection='polar')
ax.bar(x1,y1,alpha=0.4, width=0.5, color='#f00')
ax.bar(x2,y2,alpha=0.4, width=0.5)
plt.show()
微信扫码关注
抖音扫码关注