请用Python绘制南丁格尔玫瑰图,要求有文字与数据
时间: 2024-09-20 07:16:01 浏览: 59
利用Python绘制南丁格尔图
在Python中,你可以使用`seaborn`库中的`clustermap`函数来绘制南丁格尔玫瑰图,这是一种用于展示数据集中变量之间相关性的热力图。下面是一个例子,我们假设有一个二维数据集,包括一些类别和相应的数值,同时包含对应的文字描述。
```python
import seaborn as sns
import pandas as pd
# 创建示例数据
data = {'Category': ['A', 'B', 'C', 'A', 'B', 'C'],
'Value1': [20, 35, 45, 15, 30, 38],
'Value2': [30, 18, 50, 25, 35, 29],
'Description': ['数据1描述', '数据2描述', '数据3描述'] * 2}
df = pd.DataFrame(data)
# 将数据转换为适合clustermap的数据格式
sns_data = df.pivot_table(index='Category', columns='Description', values=['Value1', 'Value2'])
# 绘制南丁格尔玫瑰图
g = sns.clustermap(sns_data, cmap='coolwarm', annot=True, fmt=".1f", figsize=(6, 6), linewidths=.75,
cbar_kws={'shrink': .5}, yticklabels=False, xticklabels=['Value1', 'Value2'])
# 设置图形标题和行标签
g.ax_heatmap.set_title('南丁格尔玫瑰图')
g.ax_row_dendrogram.set_visible(False)
plt.show()
```
在这个例子中,`annot=True` 表示在每个单元格内显示数值,`fmt=".1f"`指定数值格式为小数点后一位,`yticklabels=False`和`xticklabels`则控制了X轴和Y轴标签。
阅读全文