如何将Excel/CSV文件关联到Python Likert量表绘图代码?
把你的Excel/CSV数据接入Likert量表代码的步骤
1. 先装必备库
打开命令行,运行以下命令安装所需依赖:
pip install pandas plot-likert numpy openpyxl
(注:openpyxl仅读取Excel文件时需要,CSV文件无需安装)
2. 读取你的数据文件
把示例里生成随机数据的代码,替换成读取你本地文件的代码:
- 若是CSV文件:
import pandas as pd import numpy as np import plot_likert # 替换成你的CSV文件路径,比如 './survey_data.csv' data = pd.read_csv('你的文件路径.csv')
- 若是Excel文件:
import pandas as pd import numpy as np import plot_likert # 替换文件路径,sheet_name如果是其他表名请修改 data = pd.read_excel('你的文件路径.xlsx', sheet_name='Sheet1')
3. 匹配你的量表选项
示例用的是默认同意度量表:plot_likert.scales.agree,对应选项为:["Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"]
如果你的问卷选项是中文(比如「完全不同意」「不同意」「中立」「同意」「完全同意」)或其他自定义选项,需要自己定义量表:
# 自定义量表,顺序必须和你问卷里的选项完全一致 custom_scale = ["完全不同意", "不同意", "中立", "同意", "完全同意"]
之后把绘图代码里的plot_likert.scales.agree替换成custom_scale即可。
4. 完整运行代码
结合读取数据和绘图逻辑,完整示例如下(以CSV文件+默认量表为例):
import pandas as pd import numpy as np import plot_likert # 读取你的数据文件 data = pd.read_csv('你的文件路径.csv') # 生成带百分比的Likert图表 ax = plot_likert.plot_likert(data, plot_likert.scales.agree, plot_percentage=True, figsize=(14, 4)) # 设置百分比标签颜色,保证文字清晰(颜色列表长度需和量表选项数量一致) for bars, color in zip(ax.containers[1:], ['white'] + ['black'] * 2 + ['white'] * 2): ax.bar_label(bars, label_type='center', fmt='%.1f %%', color=color, fontsize=15) # 如需保存图表,取消下方注释 # ax.figure.savefig('likert_chart.png', bbox_inches='tight')
关键注意点
- 你的数据文件必须是列对应问题(列名如Q1、Q2),行对应单个受访者的所有回答;若存在空值,可通过
data.dropna()删除无效行,或data.fillna('Neutral')填充默认值。 - 若你的量表选项数量不是5个,需同步调整
color列表的长度,确保每个柱子内的文字与背景颜色对比明显,方便阅读。
内容的提问来源于stack exchange,提问作者Hosph
相关产品推荐
相关产品推荐

