Python+matplotlib绘制极坐标柱状图(南丁格尔玫瑰图)

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(10, 6))
ax = plt.subplot(111, projection='polar')
ax.set_theta_direction(-1)  # 舒适枕
ax.set_theta_zero_location('N')

r = np.arange(100, 800, 20)
theta = np.linspace(0, np.pi * 2, len(r), endpoint=False)

ax.bar(theta, r, width=0.18, color=np.random.random((len(r), 3)),
       align='edge', bottom=100)
ax.text(np.pi * 3 / 2 - 0.2, 90, 'Origin', fontsize=14)  # 每个柱顶部显示文本大小
for angle, height in zip(theta, r):
    ax.text(angle + 0.03, height + 120, str(height), fontsize=height / 80)
plt.axis('off')  # 不显示坐标轴和网格线
plt.tight_layout()  # 紧凑布局,缩小外边距
plt.show()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44864262/article/details/108098031