共计 1779 个字符,预计需要花费 5 分钟才能阅读完成。
问题现象
很多初次使用 CiteSpace 6.4.R1 的研究者会遇到一个令人困惑的问题:在生成的关键词共现网络图中,聚类标签显示为 ’#1…’ 这样的省略形式(如图 1 所示)。这不仅影响对聚类主题的直观理解,更导致无法准确识别研究热点分布。
具体表现为:
- 聚类标签仅显示编号和省略号(如 #3…、#5…)
- 鼠标悬停时无法查看完整标签
- 导出图片时标签截断现象加剧
这种现象会直接影响对文献计量分析结果的解读,尤其是当需要比较不同聚类的研究主题时,标签不完整会导致严重误判。
根因分析
经过测试和源码研究,发现问题主要源于三个层面的交互作用:
-
数据层面:原始文献数据中的关键词存在过长或特殊字符(如逗号、引号),CiteSpace 的文本解析器在预处理时会强制截断
-
算法层面:6.4.R1 版本的标签布局算法对紧凑布局的默认阈值(label_threshold=15)设置过低,当节点密度较高时自动启用省略显示
-
渲染层面:依赖的 Graphviz 引擎在非英语系统环境下存在字符宽度计算偏差,导致标签显示区域预估不足
解决方案
方案 1:调整可视化参数
这是最直接的解决方法,适用于大多数情况:
- 在 CiteSpace 主界面点击『Control Panel』
- 找到『Visualization』选项卡
- 修改以下参数:
- Label Size: 从默认 12 调整为 14-16
- Label Threshold: 从 15 调整为 25-30
- Node Font Scale: 从 1.0 调整为 1.2
- 点击『Apply』后重新生成图谱

方案 2:数据预处理
对于 WoS/Scopus 导出的原始数据,建议先用 Python 清洗关键词字段:
import pandas as pd
import re
def clean_keywords(df):
"""处理 CSV 中的关键词列"""
try:
# 替换特殊字符并限制长度
df['Keywords'] = df['Keywords'].apply(lambda x: re.sub(r'[;,"]','|', str(x))[:50]
)
# 处理缺失值
df['Keywords'] = df['Keywords'].fillna('UNKNOWN')
return df
except Exception as e:
print(f"清洗失败: {str(e)}")
return None
# 使用示例
wos_data = pd.read_csv('savedrecs.txt', sep='\t')
clean_data = clean_keywords(wos_data)
clean_data.to_csv('cleaned_data.csv', index=False)
方案 3:Graphviz 配置优化
对于高级用户,可以修改 CiteSpace 的底层渲染配置:
- 找到安装目录下的
config/graphviz.properties文件 - 修改以下参数:
graphviz.overlap=scale graphviz.splines=true graphviz.fontname=SimSun # 中文系统建议使用宋体 graphviz.nodesep=0.4 - 保存后重启 CiteSpace
验证方法
成功修复后应该能看到:
- 聚类标签显示完整关键词(如『#1 machine_learning』)
- 标签在不同缩放级别下保持清晰
- 导出的矢量图(PDF/SVG)中文字可选中
最佳实践
关键词规范
- 单个关键词长度建议≤20 字符
- 避免使用连续特殊符号(如『AI,ML,DL』应改为『AI|ML|DL』)
- 英文关键词推荐使用下划线连接词组(如『deep_learning』)
性能优化
- Java 堆内存建议设置为 2 -4GB(启动参数:
-Xmx4g) - 处理超过 5000 篇文献时启用『Incremental Mode』
- 定期清理
temp文件夹的缓存文件
结果导出
- 优先选择 SVG/PDF 格式保留矢量信息
- 打印分辨率建议≥300dpi
- 包含图例时勾选『Export with legend』
延伸思考:如何评估聚类质量?
当标签显示问题解决后,还需要关注聚类结果本身的合理性:
- 模块度(Q 值):一般 Q >0.3 表示聚类结构显著
- 轮廓系数(Silhouette):值越接近 1 说明类内紧密度越高
- 主题一致性:人工检查每个聚类的前 5 个关键词是否语义相关
- 时间演化:检查聚类在时间轴上的出现 / 消失是否符合领域发展规律
通过结合定量指标和定性判断,可以确保聚类分析结果既技术正确又学术合理。
正文完
