南格尔玫瑰图,又称南丁格尔玫瑰图,是一种以圆形为基础的统计图表,因其美观性和信息展示的独特性,近年来备受大家喜爱,就让我来教大家如何用Python绘制出漂亮的南格尔玫瑰图吧!
我们需要准备Python环境,这里推荐使用Anaconda,它集成了许多常用的科学计算库,让我们可以更方便地进行数据分析,我们需要安装一个绘图库——matplotlib,通过命令行输入pip install matplotlib即可完成安装。
下面,让我们正式开始绘制南格尔玫瑰图的步骤:
导入所需的库
我们需要导入matplotlib库中的pyplot模块,以及numpy库,代码如下:
import matplotlib.pyplot as plt import numpy as np
创建数据
为了绘制南格尔玫瑰图,我们需要准备一些数据,这里以我国某城市近一年的月均温度为例:
# 数据 categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] values = [6, 7, 9, 13, 18, 22, 25, 24, 20, 15, 10, 7]
绘制南格尔玫瑰图
我们使用matplotlib的极坐标图来绘制南格尔玫瑰图,代码如下:
# 设置极坐标
fig, ax = plt.subplots(subplot_kw={'projection': 'polar'})
# 计算角度
angles = np.linspace(0, 2 * np.pi, len(categories), endpoint=False)
# 使第一个角度与最后一个角度首尾相连
angles = np.concatenate((angles, [angles[0]]))
# 绘制图形
ax.fill(angles, values + values[:1], color='red', alpha=0.4)
# 设置极坐标的标签
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories)
# 设置雷达图的范围
ax.set_ylim(0, max(values) + 5)
# 显示图形
plt.show()
运行以上代码,你将得到一幅南格尔玫瑰图,此时的图表还比较单调,我们可以对其进行一些美化。
美化图表
为了让图表更具美观性,我们可以调整颜色、增加标签等,以下是美化后的代码:
# 设置极坐标
fig, ax = plt.subplots(subplot_kw={'projection': 'polar'})
# 计算角度
angles = np.linspace(0, 2 * np.pi, len(categories), endpoint=False)
# 使第一个角度与最后一个角度首尾相连
angles = np.concatenate((angles, [angles[0]]))
# 绘制图形
ax.fill(angles, values + values[:1], color='salmon', alpha=0.4)
# 设置极坐标的标签
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories, size=12, color='black', weight='bold')
# 设置雷达图的范围
ax.set_ylim(0, max(values) + 5)
# 添加标题和标签
plt.title('Monthly Average Temperature', size=16, color='black', weight='bold')
plt.xlabel('Month', size=14, color='black', weight='bold')
# 隐藏极坐标的网格线
ax.grid(False)
# 显示图形
plt.show()
运行美化后的代码,一幅漂亮的南格尔玫瑰图就呈现在你面前了,你可以根据自己的需求,调整颜色、标签等,绘制出独一无二的南格尔玫瑰图。
就是用Python绘制南格尔玫瑰图的详细步骤,希望这篇教程能对你有所帮助,让你在数据分析的道路上越走越远!🌹🌹🌹

