做了几年网络分析,经常被刚接触Gephi的朋友问同一个问题:明明用的是同一个软件,为什么别人导出的图又清晰又有解释力,自己导出的图却像一团乱麻?除了数据本身的差异,大部分人跟高手的差距,不在软件内置功能里,而在插件生态。Gephi这套开源网络分析工具,本身已经覆盖了数据导入、网络统计、社群检测、可视化渲染这条主链路,但真正让它从"教学演示工具"进阶成"研究生产工具"的,是那一套可扩展的插件机制。这篇是Gephi系列的第9篇,重点聊高级功能与插件使用,包括插件安装时的版本陷阱、布局算法插件的参数调优、动态网络分析、大图性能调优,以及我实际跑了好几年的插件工作流。适合已经会基础操作、准备往深处走的Gephi用户参考。
1. 插件生态才是Gephi真正拉开差距的地方
1.1 为什么原生功能只是地基
Gephi 0.9.2内置的功能其实已经不少:布局算法内置了ForceAtlas2、Fruchterman-Reingold、Yifan Hu等,统计面板能做度分布、连通分量、平均最短路径、模块化检测,过滤器也能组合出很多玩法。
但这些功能有个共同特点:它们是"通用方案"。Gephi不会为某个特定学科准备专用工具,科研数据、社交网络数据、交通网络数据、生物网络数据,在结构特征上差得非常远。比如做社交网络的人往往关心影响力传播路径,做交通网络的人关心枢纽节点和通达性,做引文网络的人关心时序演化和研究前沿,这些需求用通用功能做能做,但费劲。
插件解决的就是"通用功能到专用场景"之间的缺口。Gephi的设计方式很像早期的Eclipse,核心是一个模块化框架,通过NetBeans平台管理插件模块,第三方开发者可以编写新的布局算法、新的统计指标、新的导入导出格式、新的可视化渲染组件,然后作为独立模块灌进Gephi。插件装得越多,Gephi就越像一个替你量身定制的专业分析平台。
说得直白一点:如果内置功能是毛坯房,插件就是装修方案。同样一张社交网络图,默认布局能出图,但配上特定插件之后,可以做到一眼看出社群结构、关键节点和传播路径,这种表达力是原生功能很难给你的。
1.2 插件中心的入口与版本陷阱
Gephi的插件入口非常显眼:顶部菜单栏"工具"(Tools)下拉里有"插件"(Plugins)选项,打开后是一个类似软件商店的窗口,分四个标签页:可用插件(Available Plugins)、已安装插件(Installed)、插件更新(Updates)、设置(Settings)。
我第一次用这个面板的时候,第一反应是"真方便,跟手机应用商店一样"。但实际用下来发现,Gephi的插件中心跟手机应用商店有个非常大的区别:它不会自动帮你解决版本兼容问题。手机商店里App通常已经适配了你当前系统,但Gephi插件中心里,一个插件可能会标注支持0.8.1、0.9.1,却不支持0.9.2,也可能反过来只支持新版本。你点"安装"之后,它不是马上下载,而是先检查所有待装插件之间的依赖关系,如果发现和当前Gephi版本不兼容,会直接弹出一个错误列表,整个安装流程就中断了。
这时候大多数人第一反应是"这个插件是不是坏了"。其实不是,绝大多数情况下是版本匹配问题。Gephi 0.9.2和Gephi 0.10.x在底层API上做了不少调整,旧插件在新版本上一言不合就报错,新插件在旧版本上同样装不进去。所以说,玩Gephi插件,先确定自己用的是哪个Gephi版本,再去找对应版本的插件,是第一条铁律。
提示:Gephi 0.9.2至今仍是使用率最高的稳定版,大量教学和论文复现都基于这个版本。如果你不是因为有特殊需求必须用0.10.x,建议从0.9.2开始。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装插件前必须搞清楚的版本与兼容性问题
2.1 Java版本、Gephi版本与插件版本的三角关系
很多人忽略了一个问题:Gephi本身是Java写的,它的运行环境依赖Java JDK。Gephi的安装包里其实自带了一个JRE(Java运行环境),但插件系统对Java版本的敏感度,往往比Gephi核心功能高得多。
举个例子,Gephi 0.9.2默认可以在Java 8上运行良好,但在Java 11或更高版本上,某些依赖了内部Java API的老插件会出现ClassNotFoundException或者NoSuchMethodError。这类报错很奇怪:插件装上了,菜单里也看到了,一运行就崩。排查了一圈才发现是Java运行时版本跟插件要求的版本对不上。
我的建议是:
- 如果你主要用0.9.2,优先安装Java 8(JDK 1.8),然后在启动Gephi前把JAVA_HOME指到对应的Java 8目录,这样兼容性最好。
- 如果你用0.10.x及以后版本,建议Java 11或Java 17,新版Gephi对高版本Java的适配已经好很多。
- 不推荐在系统里同时装多个Java版本却不去管环境变量,Gephi启动时读的是JAVA_HOME,配错了会直接影响插件运行。
2.2 插件安装实操步骤与离线安装
在线安装是最常见的路径,点开"工具 → 插件 → 可用插件",勾选,点安装,后面的下载、依赖解析、重启生效这些动作Gephi都会自动做。但有两个细节值得注意。
第一,插件中心的分类模块非常多,默认按大类显示,你要找特定插件的时候最好直接搜名字。例如你搜"export",会列出跟导出相关的所有插件;搜"json"会列出Json导出插件。搜索关键字是"插件英文全名或核心功能词",用中文词是搜不到的,因为插件作者几乎都是英文环境。
第二,如果在线安装失败(常见于网络环境不稳定,或者公司内网有防火墙限制),可以走离线安装流程:去Gephi插件官网找到对应Gephi版本的.nbm文件,下载到本地,然后打开"工具 → 插件 → 下载"标签页,点击"Add"按钮选择本地.nbm文件,Gephi会把它加入待安装列表,点"安装"即可。
离线安装的好处是你可以把插件包统一管理起来,重装系统的时候不用再去网上一个个找。我自己就建了一个文件夹专门存.nbm文件,按Gephi版本分了子目录,装新电脑的时候十分钟就能恢复整一套环境。
2.3 插件目录结构与卸载清理
Gephi装完插件之后,不是把文件丢在安装目录里,而是放在用户目录下。Windows系统路径是C:\Users\你的用户名\AppData\Roaming\gephi\0.9.2\modules,macOS和Linux对应的是~/.gephi/0.9.2/modules。如果你备份了整个用户目录的gephi文件夹,插件配置、工作区、布局参数也会一起备份。
卸载插件相对简单,在"已安装插件"页面取消勾选对应插件,然后重启Gephi,它会自动移除相关模块。但有个坑:如果插件之间被其他插件依赖,直接卸载可能把别的插件也带崩。所以插件装得多了以后,我建议每半年做一次"插件清理":把不再用的插件勾掉,重启,然后观察一段时间,确认没影响再继续用。
3. 布局算法插件:把复杂网络摆出美感和意义的引擎
3.1 布局插件选型对比
布局算法是网络可视化里最直观、也最影响观感的一步。Gephi内置的布局器已经不少,但插件生态里的布局器往往在特定场景下表现更好。我把实际用过的布局插件整理成一个对照表,方便你按需选型:
| 布局器 | 插件/内置 | 适用场景 | 主要特点 |
|---|---|---|---|
| ForceAtlas2 | 内置 | 通用社交网络、引文网络 | 收敛快、社区结构明显,配合模块化效果好 |
| ForceAtlas3 | 插件 | 大规模网络(10万节点以上) | 多线程优化、内存占用更低 |
| OpenOrd | 插件 | 超大图快速布局 | 速度极快,适合50万节点级别 |
| Multigravity | 插件 | 多层级、多尺度网络 | 能同时呈现全局结构与局部细节 |
| Circular Layout | 插件 | 环状结构、比较不同分组 | 把节点按分组摆成同心圆或圆弧 |
| Geo Layout | 插件 | 地理坐标数据 | 把节点按经纬度放在地图背景上 |
| No Overlap | 插件 | 任何图 | 防止节点标签互相遮挡,通常作为后处理 |
ForceAtlas2虽然是内置算法,但它实际上就是"类插件"的模块,很多人不知道的是,它的核心参数对最终图形质量影响极大。对比起来,OpenOrd速度确实快,但布局结果的可读性、模块间边距远不如ForceAtlas系列,如果是做论文配图,我通常还是用ForceAtlas2慢慢跑到收敛。
3.2 ForceAtlas系列的参数调优经验
ForceAtlas2最典型的参数组合是:Threads数(线程数)根据CPU核数设定,Scaling(缩放系数)控制整体节点间距,Gravity(重力)控制中心聚拢程度。默认参数能出图,但不出彩。我跑过很多张网络图之后,总结出几个规律:
- 如果你的网络已经有社群结构,核心是打开"LinLog模式"(LinLog Mode),然后用"Dissuade Hubs"(抑制枢纽)拉低高度数节点的吸引力。LinLog模式会让节点间距与边权的关系更接近对数尺度,适合展示模块化;Dissuade Hubs会让高连接度节点不会把周围节点吸得过紧,视觉上不会出现一个"超级大球"覆盖全局。
- Scaling不是越大越好。Scaling过大,网络会过度松散,图变成一盘散沙;Scaling过小,节点全挤在一起,社群边界根本看不出来。我从实际经验看,中小网络(1000-10000节点)Scaling取2到10之间比较合适,大网络需要更大。
- 每次调参点"运行"后,不要急着看最终效果,先让它跑几十秒,等图慢慢稳定再判断。很多人把网络直接开着跑一夜,第二天发现布局已经乱得没法看,其实就是因为参数不合适、算法一直在震荡。
ForceAtlas3作为插件在0.9.2也能装,它最大的价值是速度。我实测一个12万节点、30万边的网络,默认布局参数下ForceAtlas2动辄需要几十分钟,ForceAtlas3相同精度下大概能快30%到50%。如果是做交互式探索,优先ForceAtlas3;如果是论文最终图,我倾向于ForceAtlas2跑干净再导出。
3.3 布局结果保存与多图叠加
很多人不知道,Gephi的布局结果是可以保存的。你只要把当前工作区内的节点坐标导出为文件,将来随时可以重新导入,不需要重新跑一遍布局。具体做法是在"文件 → 导出 → 图表文件"里选择带坐标的格式,或者直接在"数据实验室"面板里把X和Y列复制出来,存成CSV。
这个技巧对做多方案对比特别有用。同一份网络数据,我用ForceAtlas2跑一版,再用OpenOrd跑一版,分别保存坐标,然后在预览里来回切换,看看哪种布局能最好地支撑我的叙事逻辑。做报告的时候,还能把两个布局图并排展示,说明"即使换了布局算法,核心社群结构依然稳定",这种稳健性分析在论文审稿人眼里非常加分。
4. 网络指标与统计插件:从"画个图"到"算明白"
4.1 内置统计面板能做什么
Gephi右侧的"统计"(Statistics)面板是很多人忽略的藏宝库。点击"运行"按钮,它会计算一系列网络指标,包括:
- 平均度(Average Degree),反映网络连接密度
- 网络直径(Network Diameter),反映最大最短路径
- 图密度(Graph Density),即实际边数与可能边数的比值
- 模块化(Modularity),做社群划分的核心算法
- 介数中心性(Betweenness Centrality)、接近中心性(Closeness Centrality)、特征向量中心性(Eigenvector Centrality)
- PageRank,衡量网页重要性,也可以迁移到一般网络
- 连通分量(Connected Components),识别孤立子图
这些统计结果的强悍之处在于,它可以直接映射到可视化上。比如你算完模块化之后,Gephi会把每个节点归到某个社群编号,这个编号直接作为一个新列出现在数据实验室里。之后你基于这个列着色,整张图立刻出现"社群色块",信息量瞬间拉满。
4.2 插件扩展的指标计算场景
内置统计虽然覆盖面广,但有几个明显短板:一是不能自定义计算公式,二是很多网络分析中需要的高级指标没有覆盖,三是新研究里出现的指标要靠第三方插件补齐。
这里就体现出插件生态的价值。我常用几个统计插件:
- Network Statistics Plus,扩展了更多网络度量,比如捷径中心性(Closeness的变种)、离心率(Eccentricity)、K-core分解等,适合做枢纽节点筛选和网络鲁棒性分析。
- Clustering Coefficient插件,计算局部聚类系数,衡量节点邻居之间的连接紧密程度,这在社交网络"小圈子"分析中特别常用。
- 一些由学术团队发布的专用插件,比如针对生物网络的路径富集分析插件,虽然受众窄,但针对性强。
用的时候有个心得:插件计算出来的指标会追加到节点表格里,但当你再次运行内置统计时,有些插件生成的列可能不会自动更新。所以正确的做法是,先跑所有需要的基础统计,最后再跑插件统计,避免数据列之间的顺序错乱。
4.3 统计结果导出与外部工具联动
Gephi的统计结果导出有两种方式:一是直接右键统计报告里的表格复制数据,二是通过"数据实验室"把节点表导出为CSV,然后拿到Python或Excel里继续分析。我的习惯是统计结果一定导出到外部再做二次验证,因为Gephi的某些指标计算公式跟NetworkX或者igraph并不完全一致,同一张图算出来的介数中心性可能有微小差异,这是算法实现不同导致的,不代表谁算错了。
遇到审稿人问"数值为什么跟别的不一样"时,直接说清楚用的是Gephi内置算法,并在方法部分标注版本号,就可以了。学术分析讲究可复现性,保持"同一个版本、同一个参数、同一个软件"比纠结数值是否完美更关键。
5. 动态网络与时间轴:给数据加上时间维度
5.1 动态网络数据格式GEXF的写法
静态网络分析只能给一个"最终状态"的快照,但很多问题本质上带有时间属性:信息传播、合作演化、城市间联系变化。Gephi虽然操作界面里没有单独的时间轴按钮,但它是支持动态网络可视化的,核心在于数据的组织方式——GEXF格式的动态标签。
一个简单的动态节点写法是这样的:
xml复制<gexf xmlns="http://www.gexf.net/1.2draft" version="1.2">
<graph mode="dynamic" timeformat="double" defaultedgetype="undirected">
<nodes>
<node id="a" label="节点A">
<attvalues>
<attvalue for="weight" value="1" start="0" end="10"/>
<attvalue for="weight" value="5" start="10" end="20"/>
</attvalues>
</node>
</nodes>
<edges>
<edge id="0" source="a" target="b" weight="1" start="0" end="20"/>
</edges>
</graph>
</gexf>
注意几个坑:mode="dynamic"必须写在<graph>标签上;节点或边的动态属性可以用<attvalues>里的start和end属性来标记时间区间;时间格式可以是整数、小数或日期格式,但必须在timeformat里声明,否则Gephi不知道按什么规则解析。
如果你用Python的NetworkX生成GEXF,NetworkX的write_gexf支持动态属性,但有些版本的NetworkX生成的GEXF标签命名跟Gephi期望的不完全一致,导入时偶尔会丢失时间信息。解决办法是导入后,在Gephi的"时间区间"面板里检查一下有没有正确解析出时间跨度,不对就退回去调整数据格式。
5.2 时间轴插件的交互玩法
Gephi的窗口左下角有一个"时间区间"面板,看起来像播放器——有播放/暂停按钮,拖动滑块可以显示某一时刻的网络快照。这个功能本身不需要额外插件,但要让时间轴友好地呈现动态网络,建议搭配动态布局插件使用。
Dynamic Network插件(动态网络插件)可以配合时间轴做布局平滑:网络结构随时间变化时,节点坐标会尽量保持连续,不会在某一帧突然跳变。这个效果在演示合作网络演化时非常有用:能看到一个个社群从萌芽、壮大到分裂的过程,而不是每过一段时间就闪换一张完全不同的图。
如果你要导出动态网络的视频或帧序列,可以配合屏幕录制工具,或者写一个小脚本,让Gephi按固定步长导出PNG帧,再用FFmpeg合成视频。我实际试过用这种方式做一段引文网络的演化视频,60帧大约花了几分钟渲染,效果比静态图生动得多,适合放在项目结题汇报或科普视频里。
5.3 动态网络分析中的常见坑
动态网络看起来高级,坑也不少。
第一个坑是数据量爆炸。动态网络每个节点的每个时间片都要一个属性值,假设你有1万个节点、100个时间片,那就是100万个数据点,文件体积轻松上到几百MB。Gephi导入这种大文件往往很慢,甚至直接内存溢出。建议在生成动态GEXF之前,先做时间聚合,比如把每天的数据聚合成每月,再把节点筛选到跟研究问题相关的子集。
第二个坑是时间区间解析错误。我踩过最典型的一次:用Python生成的GEXF,start和end属性里带了小数,但timeformat写成了integer,Gephi直接把所有区间解析成空,导致时间轴面板一片空白。排查半天才发现是格式声明不一致。后来我统一用double格式,或者干脆把时间戳处理成整数秒,就再没遇到这个问题。
第三个坑是布局不连续。如果网络结构变化太大,即使加了动态布局插件,某些帧之间节点跳跃仍然明显。解决办法是在时间轴播放之前,先跑一次静态布局把初始结构稳定下来,再加动态属性,保证第一帧就是一个合理的网络状态。
6. 数据打通与外部工具协同:插件不只是"装在Gephi里面"
6.1 导入导出插件的实用清单
Gephi默认支持的导入格式有CSV、GEXF、GraphML、GML等,但真实项目里数据格式千奇百怪,光是数据清洗就能花掉大半时间。这时候更需要合适的导入导出插件,把外部工具链的信息引入Gephi。
我个人比较常用的插件:
- Json Exporter:把网络数据导出为JSON格式,方便前端做交互可视化。做网页版网络图展示的时候,从Gephi导出JSON再交给前端脚本渲染,比手动拼JSON快太多。
- Graph Streaming:实时发送和接收图数据流。这个插件可以把Gephi变成一个实时网络监视器,比如配合代码监听服务器日志,每个新节点或新边出现时,它在画布上即时生长出新的节点和连接,可视化的冲击力非常强。
- Map of Countries 配合 Geo Layout:结合地理坐标数据显示地图网络图。数据里带有国家或城市名称时,Geo Layout可以直接映射经纬度,Map of Countries提供世界地图边界,最终产出"网络节点落在世界地图上"的图,适合分析贸易网络或国际合作网络。
6.2 与Python/NetworkX的联动实战
我的常规数据链路是:原始数据预处理在Python里完成(清洗、去重、计算权重、时间聚合),输出标准GEXF或GraphML,再导入Gephi做可视化分析和标注。这个链路核心原因是:Python处理数据的灵活性远高于Gephi的数据实验室,而Gephi的交互式可视化又是NetworkX的静态绘图完全比不了的。两个工具搭配,各取所长。
一个具体的例子:我用Python从一组邮件日志里提取发件人-收件人关系,聚合出每周通信频次,把频次作为边的权重,生成带时间属性的GEXF,然后在Gephi里按周播放时间轴,观察不同部门之间的通信热点如何随项目进度推移。整个过程里,Python负责脏活累活,Gephi负责最后"讲故事"。
6.3 借助AI辅助工具写插件脚本的探索
Gephi插件本身是Java模块开发,写一个完整插件需要对NetBeans模块系统有了解,门槛不低。但最近这个领域出现了一些新趋势:可以用本地大语言模型工具辅助生成Java插件代码,再由熟悉Java的同事审查后编译测试。我试过一次通过自然语言描述"写一个计算节点介数中心性的Gephi模块",AI能给出大致框架,包括Module类结构、@ServiceProvider注解的位置、依赖声明等。虽然直接编译通过的机率不高,但作为起点,比从空文件开始写要快很多。这类AI辅助开发的方式很适合插件生态的快速原型验证,特别是你想试验一个新的网络指标,先让AI帮你搭好脚手架,再人工补核心逻辑,比翻文档学习整个NetBeans模块生命周期高效得多。
7. 性能调优:大图场景下的插件使用策略
7.1 内存设置与JVM参数
Gephi跑大图时最常见的错误就是java.lang.OutOfMemoryError: Java heap space,这通常不是因为Gephi不给力,而是JVM默认堆内存太小。Gephi安装目录下有一个etc/gephi.conf文件,里面可以修改JVM启动参数:
code复制-J-Xms1024m
-J-Xmx8192m
-Xms是初始堆大小,设为1G起步;-Xmx是最大堆大小,建议从4G开始试,机器内存够就调到8G甚至更高。注意,Gephi 0.9.2是32位还是64位,取决于你装了什么版本。64位版在大内存下才能发挥优势;32位版即使JVM参数写了8G,实际也到不了。
改完参数记得保存并重启Gephi,否则不会生效。启动后可以在"帮助 → 关于"里确认当前JVM参数,或者在数据导入大图时观察内存监控区域,看看顶部的内存占用条是否被有效利用起来。
7.2 大图时的插件取舍
装了一堆插件并不代表都要在跑大图的时候加载。插件越多,启动越慢,内存占用越高。特别是某些可视化插件会在后台实时渲染节点标签,当节点数超过5万时,这个渲染开销非常可怕。
我的做法是,在处理大图数据的时候,建立一个"最小化插件环境":
- 只保留导入导出类插件(比如Graph Streaming、Json Exporter)
- 关掉需要实时渲染的插件
- 布局时优先用占用更低的ForceAtlas3或者OpenOrd
- 不在Gephi里做节点标签显示,而是把关键节点ID导出后在外部标注
等大图跑完、导出坐标和统计数据之后,再恢复完整插件环境,做最终的视觉润色。简单说,把Gephi当"重型计算引擎"和"展示平台"两个模式分开用,别让展示需求拖垮计算性能。
7.3 实测场景数据
分享一个我自己的实测数据给大家参考。一个社交网络数据,约20万节点、60万条边,源数据是几个GB的文本,经Python预处理后生成约800MB的GEXF。
在8核i7、16G内存的机器上,Gephi 0.9.2 + Java 8,堆内存调到10G,导入过程大约花了8分钟,内存占用量大约在6-7G。为了出图,我先用OpenOrd跑布局,20万节点跑了约40分钟;然后用模块化插件计算社群结构,又花了10分钟;最后导出坐标和社群编号,剩下的事交给Python和前端JS绘制交互图。
如果这20万节点直接塞给默认设置去跑ForceAtlas2,实测基本是"能跑但出不了结果",因为参数不合适时会一直震荡,几个小时都收不了。所以,大图场景下的核心经验就一句话:先算再画,先降维再美化。不要试图让可视化平台同时完成所有事。
8. 一套可复用的Gephi插件工作流参考
8.1 我的日常插件组合
讲完每个模块的功能,最后整理出一套我日常跑项目的插件组合,你可以直接抄作业:
| 环节 | 选用插件/功能 | 说明 |
|---|---|---|
| 数据导入 | GEXF + CSV 原生导入 | 大部分数据先用Python处理好 |
| 前期探索 | ForceAtlas3 | 跑得快,快速看整体结构 |
| 结构确定 | 内置模块化统计 | 计算社群编号,作为后续着色依据 |
| 视觉优化 | ForceAtlas2 + No Overlap + Label Adjust | 最终出图用,边距干净、标签不重叠 |
| 动态分析 | Dynamic Network + 时间轴面板 | 处理带时间戳的数据 |
| 外部交付 | Json Exporter + GEXF | 给前端或文档使用 |
| 地理场景 | Geo Layout + Map of Countries | 地图网络图 |
这套组合在多个项目里验证过:从几千节点的社群网络,到几十万节点的论文合作网络,都能稳定完成从数据到成图的链路。
8.2 遇到插件问题的排查路径
插件出了状况,先别急着重装。按下面顺序排查,基本能解决九成问题。
先看Gephi日志。日志文件在用户目录gephi文件夹中的var/log或messages.log,里面会记录插件加载时抛出的异常。看不懂堆栈也没关系,先把异常里出现的关键类名复制到搜索引擎搜一下,往往能找到对应的解决方案。
再看版本。插件不工作,第一怀疑对象永远是版本不匹配。去插件官网确认这个插件支持的Gephi版本,再确认自己的Gephi版本。如果安装时提示"Not compatible",那就是版本问题,没有别的解释。
最后看依赖。有些插件本身没有独立功能,它依赖其他插件提供的API。如果A插件依赖B插件,而你没装B,A即使装上了也跑不起来。在插件安装面板里,Gephi会提示依赖缺失,这时候把依赖插件一起勾选安装就行。
8.3 最后的一些经验
用了这么多年Gephi,我最大的感受是:它不是一个"开箱即用把图变好看"的工具,而是一个需要你理解它的模块化逻辑,然后按照自己的研究需求组装能力的平台。插件生态给了它无限的可能,但也要求使用者在安装、配置、调参上花点心思。
对刚接触插件的新手,我的建议是不要一次装太多。先装1-2个刚需插件,用熟之后再加新的。插件不是越多越好,多余的插件除了增加启动时间,更容易引入版本冲突。保持一个精简但够用的插件组合,数据分析的效率反而更高。
如果有遇到特别有意思的插件使用场景,欢迎交流。下一篇我准备详细写一写Gephi导出成品图的排版和标签处理技巧,那也是很多人做论文配图时最头疼的部分。
