相关系数矩阵可视化(生成热力图)

对其中的参数进行解释
  • plt.subplots(figsize=(9, 9))设置画面大小,会使得整个画面等比例放大的
  • sns.heapmap()这个当然是用来生成热力图的啦
  • df是DataFrame, pandas的这个类还是很常用的啦~
  • df.corr()就是得到这个dataframe的相关系数矩阵
  • 把这个矩阵直接丢给sns.heapmap中做参数就好啦
  • sns.heapmap中annot=True,意思是显式热力图上的数值大小。
  • sns.heapmap中square=True,意思是将图变成一个正方形,默认是一个矩形
  • sns.heapmap中cmap="Blues"是一种模式,就是图颜色配置方案啦,我很喜欢这一款的。
  • sns.heapmap中vmax是显示最大值
import seaborn as sns
import matplotlib.pyplot as plt
def test(df):
    dfData = df.corr()
    plt.subplots(figsize=(9, 9)) # 设置画面大小
    sns.heatmap(dfData, annot=True, vmax=1, square=True, cmap="Blues")
    plt.savefig('./BluesStateRelation.png')
    plt.show()
### 如何在SPSS中创建力图 #### 使用SPSS自带功能创建力图 尽管SPSS本身并不直接提供“力图”的选项,但通过一些间接方式仍然能够实现这一目标。一种常见的做法是利用变量之间的相关矩阵来构建类似于力图的效果。 1. **计算相关系数** 首先需要计算不同变量间的皮尔逊或斯皮尔曼相关系数。这一步骤可以通过`Analyze -> Correlate -> Bivariate...`菜单完成,在弹出窗口内选择要分析的相关变量,并指定相关性的测量标准[^2]。 2. **保存相关矩阵** 完成上述操作后,点击`Options`按钮勾选`Cross-product deviations and covariances`以及`Means and standard deviations`,再回到主界面点击`OK`执行命令。此时会得到一个新的输出表格展示各变量间的关系强度。为了后续绘图方便,建议将此表导出为CSV文件或其他格式以便外部程序读取处理。 3. **导入至第三方工具绘制图形** SPSS并没有内置专门用来画力图的功能模块,因此推荐把之前获得的相关性数据集转移到其他更适合做此类可视化的平台上去,比如R语言中的ggplot2包配合reshape2进行宽窄转换之后调用geom_tile()函数即可轻松搞定;或者采用Python里的seaborn库sns.heatmap()方法也能达到相同效果[^1]。 4. **使用SPSS Syntax编写脚本** 如果希望整个流程都在SPSS内部解决,则可以考虑借助其编程接口——Syntax语法来进行定制化开发。下面给出一段简单的例子说明如何基于已有的相关矩阵生成近似于力图的结果: ```spss * 假设当前工作区存在名为corrMatrix的数据框存储着先前算得的相关数值 *. MATRIX DATA VARIABLES=VarName RowType_ Col1 TO ColN /FORMAT=LOWER DIAGONAL . BEGIN DATA 'Age' 'Salary' 0 .876 END DATA. MATCH FILES FILE=* /RENAME=(Col1 TO ColN)=Value . VARSTOCASES /MAKE Value FROM (Col1 TO ColN). GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=Value VarName ROWTYPE_ /FRAME TICS LABEL BY ROWTYPE_(LAB) /FETCH DATASET="graphdataset" /BAR(GROUPED)=ROWTYPE_[SHAPE=INTERVAL(1)] WITH Value[COLOR=RANGE(LOWEST HIGHEST)] /TITLE='Heatmap of Correlation Matrix'. ``` 这段代码片段实现了从原始相关矩阵到适合显示颜色渐变条形图形式转变的过程,虽然严格意义上讲这不是传统意义上的力图,但在一定程度上也达到了相似的目的。 5. **探索扩展插件** 对于追求更高质量图像呈现的需求者来说,还可以尝试安装由IBM官方或者其他开发者贡献的各类附加组件,其中不乏有支持复杂图表渲染能力的作品可供选用。不过需要注意的是这类资源往往依赖特定版本环境才能正常运作,所以在决定前务必确认兼容情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值