12. 样式¶
12.1. 什么是样式?¶
Cytoscape 在网络可视化方面的一大优势是允许用户将任何表格数据(名称、类型、度数、权重、表达数据等)编码为网络的属性(如颜色、节点大小、透明度或字体类型)。一组此类编码或映射的表格数据集称为样式(Style),可以在控制面板的样式面板中创建或编辑。在此界面中,您可以轻松自定义网络的外观。例如,您可以:
为所有节点指定默认颜色和形状。

根据节点的连接度设置节点大小。您可以直观地看到网络的中心节点……

……或者,改为设置节点标签的字体大小。

沿颜色渐变可视化基因表达数据。

将特定的物理实体编码为不同的节点形状。

使用特定的线条类型来指示不同类型的相互作用。

使用边权重控制边的透明度(不透明度)。

使用边得分控制多个边属性。

通过控制节点的透明度来浏览极度密集的网络。

通过边捆绑和透明度显示高度连接的区域。

在节点上方添加照片/图像/图形。

Cytoscape 3 包含几种示例样式。以下是将这些样式应用于 galFiltered.sif 网络的一些示例。

12.2. 样式界面介绍¶
样式界面位于控制面板的样式面板下。

此界面允许您使用下拉菜单和选项菜单来创建/删除/查看和切换不同的样式。选中特定样式后,样式面板将显示该样式的详细信息,并可用于编辑这些详细信息。

在界面顶部,有一个用于选择预定义样式的下拉菜单。
可以使用搜索字段搜索可用样式列表。
仅显示已应用样式按钮
将过滤列表,仅显示已应用的样式。点击编辑..
可以编辑可用样式列表。这将显示一组用于选择和删除样式的按钮。还有一个选项按钮
,包含重命名、删除、创建和复制样式以及为所选样式创建图例的选项。界面的主要区域由四个选项卡组成,分别用于节点、边和网络属性,以及一个用于在“表格面板”的节点和边表中设置各列映射的列选项卡。请注意,从 Cytoscape 3.10 开始,列样式作为当前样式的一部分保存。
每个选项卡都包含与当前样式相关的属性列表,默认显示属性的子集。在列表顶部,属性下拉菜单允许您向列表中添加其他属性、显示所有属性,或将当前显示的属性保存为新默认值。
列表中的每个属性条目都有 3 列:
默认值:仅显示属性的默认值。点击任何属性的默认值列,即可更改默认值。
映射:显示当前用于该属性的映射类型。点击任何属性的映射列,将展开属性条目以显示用于编辑映射的界面。有关映射类型的详细信息,请参阅此处。
旁路(Bypass):显示选定节点或边的任何样式旁路。请注意,必须选择一个节点/边或节点/边子集才能激活旁路列。点击选定节点/边对应的旁路列,即可为这些选定对象输入该属性的旁路。列样式没有旁路选项。
当未为属性定义映射,或节点/边未被特定属性的映射覆盖时,将使用默认值。如果为属性定义了映射,则根据映射的定义方式,它将定义全部或部分节点/边的样式。特定节点/边集上的旁路将绕过并覆盖默认值和定义的映射。
12.3. 样式入门¶
Cytoscape 发行版包含几种预定义样式,帮助您上手。要检查几种样式,请尝试以下示例:
第一步:加载一些示例数据
加载示例会话文件:在主菜单中,选择文件 → 打开…,然后选择文件 sampleData/galFiltered.cys。
该会话文件包含一个网络、一些注释和示例样式。默认情况下,选择的是 galFiltered Style。每个节点的基因表达值沿蓝色和黄色之间的颜色渐变着色(蓝色代表低表达比率,黄色代表高表达比率,使用随 Cytoscape 捆绑在 sampleData/galExpData.csv 文件中的 gal1RGexp 实验设置的阈值)。此外,节点大小映射到节点的度数(连接到节点的边的数量),您可以看到网络的核心节点显示为较大的节点。请参阅下方的示例截图。

第二步:在不同样式之间切换
您可以通过在样式面板顶部的当前样式下拉列表中进行选择来更改样式。
例如,如果您选择 Sample1,新的样式将应用于您的网络,您将看到白色背景和圆形蓝色节点。如果您放大查看,可以看到蛋白质-DNA相互作用(标签为 pd)用虚线绘制,而蛋白质-蛋白质相互作用(标签为 pp)用实线绘制(请参阅下方的示例截图)。

最后,如果您选择 Solid,可以看到下方的图形。

除了节点/边标签外,此样式没有映射,但您可以通过编辑任何属性的默认值来修改网络图形。
sampleData 目录中的 sampleStyles.xml 文件中提供了其他示例样式。您可以从文件 → 导入 → 从文件导入样式…导入此示例文件。
节点、边、网络和列属性列表¶
Cytoscape 允许控制多种属性。下表对这些属性进行了总结。有些属性默认在列表中可见,其他属性可以从属性下拉菜单添加到列表中。
| 节点属性 | 描述 |
|---|---|
| 边框线条类型 | 用于节点边框的线条类型。 |
| 边框透明度 | 节点边框颜色的不透明度。0 表示完全透明,255 表示完全不透明。 |
| 边框宽度 | 节点边框的宽度。此属性默认可见。 |
| 标签 | 用于节点标签的文本。此属性默认可见。 |
| 标签背景颜色 | 边标签背景的颜色。此值仅在使用 标签背景形状 时相关。 |
| 标签背景形状 | 标签背景的形状。默认值为“无”。此值仅在使用 标签背景颜色 时相关。 |
| 标签背景透明度 | 边背景颜色的不透明度。0 表示完全透明,255 表示完全不透明。 |
| 标签字体 | 用于节点标签的字体。 |
| 标签字体大小 | 用于节点标签的字体大小。此属性默认可见。 |
| 标签位置 | 节点标签相对于节点的位置。 |
| 标签旋转 | 节点标签的旋转角度,默认值为 0。 |
| 标签透明度 | 节点标签的不透明度。0 表示完全透明,255 表示完全不透明。 |
| 标签宽度 | 节点标签的最大宽度。如果节点标签宽于指定宽度,Cytoscape 将自动在空格字符处换行。Cytoscape 不会断字,这意味着如果单个单词(即没有空格)长于最大宽度,则该单词将显示在最大宽度之外。 |
| 嵌套网络图像可见 | 布尔值,指示是否应可视化嵌套网络(前提是指定节点存在嵌套网络)。 |
| 内边距(复合节点) | 复合节点的内部边距(包含其他节点的节点)。 |
| 涂色(Paint) | 整个节点的颜色,包括其边框、标签和选定状态的颜色。 |
| 边框涂色 | 节点边框的颜色。此属性默认可见。 |
| 图像/图表 1-9 | 显示在节点上的用户自定义图形(图像、图表或渐变)。图像/图表 1 默认可见,其他(最多 9 个)可以从属性 → 涂色 → 自定义涂色 n → 图像/图表 n 下拉菜单添加到列表中。 |
| 图像/图表位置 1-9 | 每个图形(图像、图表或渐变)的位置。这些属性(最多 9 个)可以在下拉菜单属性 → 涂色 → 自定义涂色 n → 图像/图表位置 n 中找到。 |
| 填充颜色 | 节点的颜色。此属性默认可见。 |
| 标签颜色 | 节点标签的颜色。此属性默认可见。 |
| 选定涂色 | 节点被选中时的填充颜色。 |
| 形状 | 节点的形状。此属性默认可见。 |
| 形状(复合节点) | 复合节点的形状(包含其他节点的节点)。 |
| 大小 | 节点的大小。宽度和高度将相等。此属性与 节点高度 和 节点宽度 互斥。此属性默认可见。 |
| 高度 | 节点的高度。高度将独立于宽度。此属性与 节点大小 互斥。此属性默认可见。 |
| 图像/图表大小 1-9 | 相关节点 图像/图表 的大小。可以从属性 → 大小 → 图像/图表大小 n 下拉菜单添加到列表中。 |
| 宽度 | 节点的宽度。宽度将独立于高度。此属性与 节点大小 互斥。此属性默认可见。 |
| 将自定义图形适配到节点(复选框) | 切换以使图像/图表大小适配节点大小。 |
| 锁定节点宽度和高度(复选框) | 切换以忽略 宽度 和 高度,并对两个值都使用 大小。 |
| 工具提示 | 当鼠标悬停在节点上时显示的工具提示文本。 |
| 透明度 | 节点颜色的不透明度。0 表示完全透明,255 表示完全不透明。此属性默认可见。 |
| 可见 | 如果设置为 false,则隐藏节点。默认情况下,此值设置为 true。 |
| X 位置 | 节点的 X 位置。默认值将被忽略。该值仅在定义了映射函数时使用。 |
| Y 位置 | 节点的 Y 位置。默认值将被忽略。该值仅在定义了映射函数时使用。 |
| Z 位置 | 节点的 Z 位置。默认值将被忽略。该值仅在定义了映射函数时使用。 |
| 边属性 | 描述 |
|---|---|
| 弯曲(Bend) | 边的弯曲度。定义边的渲染方式。用户可以添加多个句柄来定义如何弯曲边线。 |
| 曲线 | 如果定义了 边弯曲,边将渲染为直线或曲线。如果此值设置为 true,则边将绘制为曲线。 |
| 标签 | 用于边标签的文本。 |
| 标签自动旋转 | 控制每个边标签的 标签旋转。如果此值设置为 true,边标签将自动旋转以与边对齐。如果设置为 false,则边标签将水平放置。 |
| 标签背景颜色 | 边标签背景的颜色。此值仅在使用 标签背景形状 时相关。 |
| 标签背景形状 | 标签背景的形状。默认值为“无”。此值仅在使用 标签背景颜色 时相关。 |
| 标签背景透明度 | 边背景颜色的不透明度。0 表示完全透明,255 表示完全不透明。 |
| 标签字体 | 用于边标签的字体。 |
| 标签字体大小 | 用于边标签的字体大小。 |
| 标签位置 | 边标签相对于边的位置。 |
| 标签旋转 | 边标签的旋转角度,默认值为 0。 |
| 标签透明度 | 边标签颜色的不透明度。0 表示完全透明,255 表示完全不透明。 |
| 标签宽度 | 边标签的宽度。 |
| 线条类型 | 用于渲染线条的笔触类型(实线、虚线等)。 |
| 涂色(Paint) | 选中或未选中时,整个边(包括笔触和箭头)的颜色。 |
| 颜色(选定) | 选中时整个边(笔触和箭头)的颜色。可以在下拉菜单属性 → 涂色 → 颜色(未选定) → 颜色(选定)中找到。 |
| 颜色(未选定) | 未选中时整个边(笔触和箭头)的颜色。可以在下拉菜单属性 → 涂色 → 颜色(未选定) → 颜色(未选定)中找到。 |
| 源箭头选定涂色 | 边源节点端箭头的选定颜色。可以从下拉菜单属性 → 涂色 → 颜色(选定) → 源箭头选定涂色添加到列表中。 |
| 标签颜色 | 边标签的颜色。可以在下拉菜单属性 → 涂色 → 标签颜色中找到。 |
| 源箭头形状 | 边源节点端箭头的形状。 |
| 源箭头大小 | 边源节点箭头的尺寸。 |
| 源箭头未选定涂色 | 边源节点端箭头的颜色。可以在下拉菜单属性 → 涂色 → 颜色(未选定) → 源箭头未选定涂色中找到。 |
| 堆叠 | 确定当两个节点之间存在多条边时如何可视化这些边。 |
| 堆叠密度 | 当两个节点之间存在多条边时,边之间的间距。 |
| 笔触颜色(选定) | 选中时边线的颜色。可以在下拉菜单属性 → 涂色 → 颜色(选定) → 笔触颜色(选定)中找到。 |
| 笔触颜色(未选定) | 边线的颜色。可以在下拉菜单属性 → 涂色 → 颜色(未选定) → 笔触颜色(未选定)中找到。 |
| 目标箭头选定涂色 | 边目标节点端箭头的选定颜色。可以在下拉菜单属性 → 涂色 → 颜色(选定) → 目标箭头选定涂色中找到。 |
| 目标箭头形状 | 边目标节点端箭头的形状。 |
| 目标箭头大小 | 边目标箭头的尺寸。 |
| 目标箭头未选定涂色 | 边目标节点端箭头的颜色。可以在下拉菜单属性 → 涂色 → 颜色(未选定) → 目标箭头未选定涂色中找到。 |
| 工具提示 | 当鼠标悬停在边上时显示的工具提示文本。 |
| 透明度 | 边的不透明度。0 表示完全透明,255 表示完全不透明。 |
| 可见 | 如果设置为 false,则隐藏边。默认情况下,此值设置为 true。 |
| 宽度 | 边线的宽度。 |
| Z 排序 | 重叠边的顺序。值较低的边将位于值较高的边下方。默认值将被忽略。该值仅在定义了映射函数时使用。 |
| 边的颜色应用到箭头(复选框) | 如果为 true,则颜色(未选定)用于整个边,包括其线条和箭头。可以在下拉菜单属性 → 涂色 → 颜色(未选定) → 边的颜色应用到箭头中找到。 |
| 网络属性 | 描述 |
|---|---|
| 注释选择 | 注释是否可选择。如果为 false,用户无法选择注释。避免直接通过样式面板更改此属性。 |
| 背景涂色 | 网络视图的背景颜色。此属性默认可见。 |
| 中心 X 位置 | 网络视图中心的 X 位置。 |
| 中心 Y 位置 | 网络视图中心的 Y 位置。 |
| 边选择 | 边是否可选择。如果为 false,用户无法选择边。避免直接通过样式面板更改此属性。 |
| 强制高细节 | 网络视图的细节级别策略。如果为 true,视图元素将始终以高细节渲染。如果为 false,Cytoscape 将根据性能优化决定何时降低细节级别。 |
| 节点标签选择 | 节点标签是否可以被手动选择和重新定位。避免直接通过样式面板更改此属性。 |
| 节点选择 | 节点是否可选择。如果为 false,用户无法选择节点。避免直接通过样式面板更改此属性。 |
| 缩放比例 | 网络视图的缩放级别。 |
| 大小 | 网络视图的大小(宽度和高度)。可以在下拉菜单属性 → 大小 → 大小中找到。 |
| 高度 | 网络视图的高度。可以在下拉菜单属性 → 大小 → 高度中找到。 |
| 宽度 | 网络视图的宽度。可以在下拉菜单属性 → 大小 → 宽度中找到。 |
| 标题 | 网络视图的标题。此属性默认可见。 |
| 列属性 | 描述 |
|---|---|
| 单元格背景涂色 | 表格/列单元格的背景颜色。 |
| 单元格字体 | 用于表格/列单元格文本的字体。 |
| 单元格字体大小 | 用于表格/列单元格文本的字体大小。 |
| 单元格图像/迷你图 | 在表格/列单元格中添加图像或图表。 |
| 单元格文本涂色 | 表格/列单元格中文本的颜色。 |
| 单元格工具提示 | 显示在表格/列单元格文本上的工具提示。 |
可用形状和线条样式¶
| 可用形状和线条样式 | 示例 |
|---|---|
| 节点形状 | ![]() |
| 线条类型 | ![]() |
| 箭头形状 | ![]() |
边堆叠¶
边堆叠属性确定当两个节点之间存在多条边时如何可视化这些边。
| 边堆叠 | 示例 |
|---|---|
自动弯曲 ![]() | 选择自动弯曲时,节点对之间的第一条边将绘制为直线,随后的边将绘制为以距离第一条边逐渐增加的距离弯曲。这创建了一种扇形展开样式的可视化。![]() |
干草堆(Haystack) ![]() | 干草堆边绘制为从源节点到目标节点的直线,沿每个节点中心的一定角度随机放置。这样,许多平行的干草堆边形成一个紧密的束,特别是当半透明时。这使得干草堆边成为可视化具有大量平行边的图表的一种有效方式。注意:启用干草堆边时,边箭头将不可见。![]() |
映射的工作原理¶
对于每个属性,您可以指定默认值或定义动态映射。Cytoscape 目前支持三种不同类型的映射:
传递映射(Passthrough Mapping)
网络列数据的值直接传递给属性。传递映射通常用于指定节点/边标签。例如,传递映射可以用常见的基因名称标记所有节点。
离散映射(Discrete Mapping)
离散列数据映射到离散属性。例如,离散映射可以将不同类型的分子映射到不同的节点形状,例如基因产物映射为矩形,代谢物映射为椭圆形。
连续映射(Continuous Mapping)
连续数据映射到属性。根据属性的不同,有三种连续映射:
i. 连续到连续映射:例如,您可以将连续数值映射到节点大小。
ii. 颜色渐变映射:这是连续到连续映射的一种特殊情况。连续数值映射到颜色渐变。
iii. 连续到离散映射:例如,所有小于 0 的值映射为方形节点,所有大于 0 的值映射为圆形节点。
但是,请注意,无法在圆形节点和方形节点之间进行平滑变形。
下表显示了每个属性的映射支持情况。
图例
| 符号 | 描述 |
|---|---|
| - | 指定属性不支持映射。 |
| + | 指定属性完全支持映射。 |
| o | 指定属性部分支持映射。不支持“连续到连续”映射。 |
节点映射
| 节点属性 | 传递映射(Passthrough Mapping) | 离散映射(Discrete Mapping) | 连续映射(Continuous Mapping) | |
|---|---|---|---|---|
| 颜色 | 填充颜色 | + | + | + |
| 透明度 | + | + | + | |
| 边框涂色 | + | + | + | |
| 边框透明度 | + | + | + | |
| 标签颜色 | + | + | + | |
| 标签透明度 | + | + | + | |
| 数字 | 大小/宽度/高度 | + | + | + |
| 标签字体大小 | + | + | + | |
| 边框宽度 | + | + | + | |
| 标签宽度 | + | + | + | |
| 内边距(复合节点) | + | + | + | |
| 图像/图表大小 | + | + | + | |
| 其他 | 边框线条类型 | + | + | o |
| 形状 | + | + | o | |
| 形状(复合节点) | + | + | o | |
| 标签 | + | + | o | |
| 工具提示 | + | + | o | |
| 标签字体 | + | + | o | |
| 标签位置 | - | + | o | |
| 嵌套网络图像可见 | + | + | o | |
| 图像/图表 | o | + | o | |
| 图像/图表位置 | - | + | o | |
| 标签旋转 | + | + | + | |
边映射
| 边属性 | 传递映射(Passthrough Mapping) | 离散映射(Discrete Mapping) | 连续映射(Continuous Mapping) | |
|---|---|---|---|---|
| 颜色 | 颜色 | + | + | + |
| 透明度 | + | + | + | |
| 目标箭头颜色 | + | + | + | |
| 源箭头颜色 | + | + | + | |
| 标签颜色 | + | + | + | |
| 标签透明度 | + | + | + | |
| 数字 | 宽度 | + | + | + |
| 标签字体大小 | + | + | + | |
| 标签宽度 | + | + | + | |
| 其他 | 线条类型 | + | + | o |
| 弯曲(Bend) | - | + | o | |
| 曲线 | + | + | o | |
| 源箭头形状 | + | + | o | |
| 目标箭头形状 | + | + | o | |
| 标签 | + | + | o | |
| 工具提示 | + | + | o | |
| 标签字体 | - | + | o | |
| 堆叠 | - | + | o | |
| 堆叠密度 | + | + | o | |
文本传递映射¶
在 Cytoscape 2.8.0 及更高版本中,传递映射可以识别某些值的文本表示。这意味着,如果您有一个名为 Node Size Values 的字符串列,您可以通过设置 Node Size Values 作为 Node Size 属性的控制列,并使用 传递映射,直接将这些值映射为节点大小。支持以下值类型:
颜色: 所有浏览器支持的标准颜色名称 或十六进制 RGB 表示。
数值: 自动映射到指定属性。
图像: URL 字符串。如果 URL 有效且存在实际图像数据,Cytoscape 会自动下载图像并将其映射到节点。
示例¶
颜色传递映射
节点大小传递映射
图像传递映射
12.4. 图像、图表和渐变¶
Cytoscape 允许您为节点设置自定义图形。使用样式界面,您可以像处理任何其他属性一样将图像/图表属性映射到节点。Cytoscape 提供了一组图像,您也可以在图像管理器中添加自己的图像,以及删除或修改现有图像。
管理图像¶
图像管理器可在菜单选项视图 → 打开图像管理器…下找到。

您可以通过拖放图像文件来添加图像。
要从网页浏览器或本地文件系统添加图像,请点击添加图像按钮,然后在从文件或从 URL 下添加您的图像。

如果您想从文件夹中添加一个或多个图像,请在从文件下选择所有要添加的图像。
要从当前会话的图像库中删除图像,只需选择一个或多个图像,然后按删除所选图像按钮(垃圾桶图标)。
在样式中使用图形¶

节点图形的使用和定义方式与任何其他属性一样,都是通过样式界面进行的。共有九个图像/图表属性。
Cytoscape 提供三种图形(可通过图形对话框上的选项卡选择):
图像: 您可以选择提供的图像之一或添加自己的图像(点击添加图像按钮以添加更多图像)。
图表: 提供以下图表类型:
柱状图,
箱线图,
热图,
折线图,
饼图,
环形图。渐变: 您还可以为节点设置 线性 和 径向 渐变。

要添加图形,首先将一个图像/图表属性添加到样式界面中的属性列表(在节点选项卡上,选择属性 → 涂色 → 自定义涂色 n → 图像/图表 n)。接下来,点击图像/图表属性的默认值列以调出图形对话框。选择图像、图表或渐变,然后点击应用。默认情况下,图形会自动调整大小以与节点大小属性保持一致。
要删除图像、图表或渐变,请点击图形对话框上的删除图形按钮。
图形位置¶
每个图像/图表属性都关联有一个位置。您可以使用在相同编号的图像/图表位置属性的默认值列中提供的用户界面来编辑其位置。例如,图像/图表位置 2 值会修改图像/图表 2 的位置。
注意: 设置 线性 或 径向 渐变的图形位置没有效果,因为它们总是位于节点中心。
Z 轴排序¶
出现在图像/图表属性旁边的数字代表图层的顺序。基本节点颜色和形状总是首先渲染,然后是节点图像/图表 1、2,……一直到 9。
保存和加载图像¶
通常,保存和加载图像是自动的。当您退出 Cytoscape 时,图像管理器中的所有图像都会自动保存。保存方式有两种:
保存到会话文件
当您将当前会话保存到文件时,当前样式中使用的图像将保存到该文件中。例如,如果您有一种具有图像/图表 1 离散映射的样式,则该样式中使用的所有图像都将保存到会话文件中。其他图像不会保存到会话文件中。这是因为当您在图像管理器中添加数千个图像时,图像库可能会变得非常庞大,这需要很长时间来保存和加载会话文件。
自动保存到
CytoscapeConfiguration/images3目录当您选择文件 → 退出(Windows 和 Linux)或Cytoscape → 退出 Cytoscape(Mac OS X)时,图像管理器中的所有图像都会自动保存到您的 Cytoscape 设置目录中。通常,它们保存在
YOUR_HOME_DIRECTORY/CytoscapeConfiguration/images3中。
在任何情况下,图像都会自动保存到您的系统或会话中,并将在您重新启动 Cytoscape 或加载会话时恢复。
12.5. 样式教程¶
以下教程演示了一些基本的样式功能。每个教程彼此独立。
教程 1:创建基本样式并设置默认值¶
本教程的目的是学习如何创建新样式并设置一些默认值。
加载示例网络: 从主菜单中,选择文件 → 导入 → 从文件导入网络…,并选择
sampleData/galFiltered.sif。创建一些节点/边统计信息: 网络分析器计算节点和边的基本统计信息。在主菜单中,选择工具 → 分析网络,然后点击确定。所有统计信息都存储为常规表格数据。
在控制面板中选择样式面板。
创建新样式: 点击选项
下拉菜单,选择创建新样式。出现提示时,为新样式输入名称。
由于尚未设置映射,因此某些属性仅定义了默认值。在此面板中,您可以为所有属性创建节点/边映射。
更改默认节点颜色和形状: 要将默认节点形状设置为三角形,请点击形状属性的默认值列。将显示可用节点形状列表。选择三角形项目并点击应用按钮。您可以以相同的方式编辑其他默认值。在下方的示例中,节点形状设置为圆角矩形,而填充颜色设置为白色。新样式会自动应用于当前网络,如下所示。

教程 2:创建带有离散映射的新样式¶
现在您已经拥有了一个具有新样式的网络。以下部分演示如何创建具有离散映射的新样式。目标是将蛋白质-DNA相互作用绘制为虚线,将蛋白质-蛋白质相互作用绘制为实线。
查找属性: 在样式面板的边选项卡中,找到笔触颜色(未选定)属性。如果它尚未在属性表中可见,请通过选择下拉项目属性 → 涂色 → 颜色(未选定) → 笔触颜色(未选定)来添加它。
选择要映射的数据列: 通过点击右侧的箭头图标展开笔触颜色(未选定)的条目。点击列条目并从出现的下拉列表中选择 interaction。
设置映射类型: 在映射类型下,选择离散映射。interaction 的所有可用列值都将显示,如下所示。
设置映射值: 点击 pd(蛋白质-DNA相互作用)旁边的空白单元格。在单元格的右侧,点击出现的 … 按钮。将出现一个弹出窗口,其中包含所有可用的调色板和颜色集合,您可以从任何调色板中选择单个颜色。选择绿色或类似颜色,更改将立即出现在网络窗口中。

对 pp(蛋白质-蛋白质相互作用)重复步骤 4,但选择较深的颜色。然后对线条类型属性重复步骤 3 到 4,从列表中选择正确的线条样式(虚线或实线)。
现在您的网络应将 pd 相互作用显示为绿色虚线,将 pp 相互作用显示为实线。下文提供了示例截图。

教程 3:创建带有连续映射的新样式¶
此时,您已经拥有了一个带有某些边映射的网络。接下来,让我们为节点创建映射。以下部分演示如何使用连续映射创建新样式。目标是将节点统计信息(在此示例中为节点度数)叠加到网络上,并沿颜色渐变显示。
查找属性: 在样式面板的节点选项卡中,找到填充颜色属性。如果它尚未在属性表中可见,请通过选择下拉项目属性 → 涂色 → 填充颜色来添加它。
设置节点表列: 通过点击右侧的箭头图标展开填充颜色的条目。点击列条目并从出现的下拉列表中选择 Degree。
设置映射类型: 将连续映射选项设置为映射类型。这将自动基于 Degree 列中的值范围创建一个默认映射。
定义调色板。 我们鼓励您从现有的调色板中选择,但您也可以自己选择颜色状态并提供任意数量的中间颜色。这两种方法都在此处描述。
从调色板选择器中选择预定义调色板。 这些来自为科学和制图应用中的颜色选择推荐的建议,例如 BrewerColors。点击连续映射编辑器左上角的当前调色板按钮,从一组调色板中进行选择。下方显示了用于选择完整调色板的设置调色板对话框。在本教程中,我们选择了“绿色调”调色板。请注意,任何调色板也可以通过选择反转颜色来反转。

定义颜色变化的点: 双击当前映射旁边的默认渐变矩形,打开连续映射编辑器。注意渐变顶部的两个较小的三角形。
定义点之间的颜色: 双击左侧较大的三角形(面向左侧),将出现一个调色板。将颜色设置为白色,然后对左侧较小的三角形重复此操作。对于右侧的三角形,将颜色设置为绿色,然后为右侧较小的三角形选择相同的颜色。

颜色渐变将立即出现在网络上。所有度数为 1 的节点都将设置为白色,介于 1 和 18 之间的所有值都将使用白/绿色颜色渐变进行绘制(请参阅下方的示例截图)。
对其他属性重复此操作: 您可以为其他数值表格数据创建更多连续映射。例如,边数据表列 EdgeBetweenness 是一个数字,因此您可以将其用于连续映射。以下是将边宽度映射到 EdgeBetweenness 的示例可视化。

教程 4:为离散映射设置自动值¶
本节的目的是学习如何为离散映射生成自动值。
将当前样式切换为 Minimal。现在您的网络看起来如下所示。
为填充颜色创建离散映射。选择 AverageShortestPathLength(由网络分析器生成)作为控制属性。
右键点击填充颜色单元格,然后选择映射值生成器 → 彩虹。Cytoscape 将自动为所有属性值生成不同的颜色,如下所示。
为标签字体大小创建离散映射。选择 AverageShortestPathLength 作为控制属性(列字段)。
右键点击标签字体大小单元格,然后选择映射值生成器 → 数字系列。输入 3 作为第一个值,点击确定。输入 3 作为增量。
应用布局 → yFiles 有机布局。最终视图如下所示。

此映射生成器实用程序对于分类数据很有用。以下示例显示了一个将物种列映射到节点颜色的离散映射。

教程 5:在样式中使用图像¶
本教程是对节点图像功能的快速介绍。您可以为每个节点分配最多九个图像,作为样式的一部分。
在第一个示例中,我们将使用 Cytoscape 3 附带的预设。通常,您可以使用任何类型的位图图形。在将用户图像用于样式之前,应将其添加到图像管理器中。
如果您正在继续之前的教程,请跳至下一步。否则,加载一个网络并运行网络分析器(工具 → 分析网络…)。这将创建几个新的表格列(节点和边的统计信息)。
点击控制面板中的样式面板,并选择 Solid 样式。
如果图像/图表 1 属性尚未在属性表中,请从下拉菜单属性 → 涂色 → 自定义涂色 1 → 图像/图表 1 中添加它。
点击图像/图表 1 条目的默认值单元格,以打开图形对话框。
从列表中选择任何图像,然后点击应用。
点击节点透明度的默认值单元格,并将值设置为 0。
将节点大小的默认值设置为 80。
将节点标签字体大小的默认值设置为 10,以增加可读性。
同时将边宽度更改为 6。现在您的网络看起来如下所示。
在视图 → 打开图像管理器…下打开图像管理器。下载此感叹号图标
,然后点击添加图像按钮并选择下载的图标,将其添加到图像管理器中。
为图像/图表 2 创建连续映射,并选择 BetweennessCentrality 作为其控制属性。双击当前映射值单元格以打开连续映射编辑器。
在连续映射编辑器中,通过点击添加按钮添加一个句柄位置,并将该句柄移动到 0.2。双击 0.2 上方的区域,并设置您在上一步中添加的新图标。

从下拉选项属性 → 涂色 → 自定义涂色 2 → 图像/图表位置 2 中添加图像/图表位置 2 属性。点击其默认值单元格,将图形的位置移动到左上角。
现在网络中的重要节点(具有高 中介中心性 的节点)都已用感叹号图标进行注释。

教程 6:创建节点图表¶
本教程的目的是学习如何根据存储在节点表中的数据创建和自定义节点图表。
开始一个新会话并加载示例网络。从主菜单中,选择文件 → 导入 → 从文件导入网络…,并选择
sampleData/galFiltered.sif。使用网络分析器创建一些节点/边统计信息。分析器计算节点和边的基本统计信息。从主菜单中,选择工具 → 分析网络…,然后点击确定。所有统计信息都存储为常规表格数据。
在控制面板中选择样式面板。
创建新样式: 点击选项
下拉菜单,选择创建新样式。出现提示时,为新样式输入名称。如果图像/图表 1 属性尚未在属性表中,请从下拉菜单属性 → 涂色 → 自定义涂色 1 → 图像/图表 1 中添加它。
点击图像/图表 1 条目的默认值单元格,以打开图形对话框。
点击图表选项卡,并确保选择了柱状图选项。
选择数据列: 现在您必须选择节点表中包含您想要显示为图表的数据的列。可用列列表显示所有可用作图表数据的节点列(即数值类型的单列或列表列)。
首先点击全部移除按钮以移除当前选定的列(默认情况下,Cytoscape 会选择可用列列表中的第一列)。
现在从可用列列表中选择所有 centrality 和 coefficient 列,然后点击添加所选按钮。
点击应用按钮,使用所选数据列和默认选项创建柱状图。
网络视图看起来还不是很好,所以在继续之前,让我们对其样式做一些更改。在下方的示例中,节点形状设置为 矩形,节点填充颜色设置为 白色,节点边框宽度设置为 1,节点边框涂色为深灰色。
聚焦于一个节点以查看图表详细信息。例如,搜索并聚焦于节点 YMR043W。

更改其他图表选项: 再次点击图像/图表 1 属性的默认值单元格以打开图形对话框,然后在柱状图编辑器中展开自定义选项。

在此面板中,您可以:
选择另一个调色板或单独设置所有颜色(只需点击每种颜色)。
显示/隐藏值和域标签,并设置域标签位置。
更改图表的方向。
显示/隐藏坐标轴。
更改坐标轴和柱状图的线条宽度和颜色。
增加或减少柱状图之间的间隔(最大为图表总宽度的 50%)。
注意: 其他图表类型提供不同的选项。
同时选中显示域轴和显示范围轴,并再次应用图形。现在节点图表应该看起来像这样:

默认的域标签不太有用,所以让我们设置更好的标签:
在节点表中,创建一个新的 String 类型 List Column,并将其命名为 domain_labels。
编辑创建列的任何单元格(双击它)并输入
["Bet. Cent.","Closen. Cent","Clust. Coeff.","Topol. Coeff."]。右键点击同一个单元格,然后选择应用于整列选项。
再次打开图表编辑器并选择选项面板。
在域标签列下拉按钮上选择 domain_labels。
在域标签位置下拉按钮上选择“Up 45^o^”。标签现在看起来应该像这样:

教程 7:为节点表的列创建样式¶
本教程的目的是为节点表中的列设置样式。样式界面的列选项卡为一组表格单元格属性提供了默认和映射样式选项,对于本教程,我们将使用单元格背景涂色和单元格字体。列样式没有旁路选项。
通过视图 → 显示启动器面板打开 Yeast Perturbation 示例会话。
在样式面板的列选项卡顶部,点击加号并选择表格列中的节点。
接下来,在列下拉菜单下选择您要添加样式的列,在本例中为 gal80Rexp 列。
在单元格背景涂色的映射列中,选择 gal80Rexp 列,并选择默认的红-蓝连续映射。这将为节点表中相应列的单元格背景着色。
在单元格字体的默认列中,选择 Arial-BoldMT。

12.6. 高级主题¶
离散映射¶
离散映射有几个实用函数可用。您可以通过右键点击任何属性条目来使用这些函数(如下所示)。

自动值生成器¶
映射值生成器:此菜单类别中的函数是离散映射的值生成器。用户可以通过选择这些函数自动为离散映射设置值。
彩虹和彩虹 OSC - 这些函数尝试为每个数据值分配尽可能多样化的颜色集。
随机数和随机颜色 - 随机化的数字和颜色。
数字系列 - 为指定的映射设置一系列数字。需要起始数字和增量。
适配标签宽度 - 此函数仅适用于节点宽度和大小。当有节点宽度或大小的离散映射时,您可以通过选择此函数自动使每个节点的大小适配其标签。请参阅下方的示例。

一次性编辑选定值¶
您可以一次性设置多个值。首先,您需要选择要更改值的离散映射行,然后右键点击并选择编辑 → 编辑选定离散映射值。将弹出一个对话框,您可以在其中为选定行输入新值。

使用连续映射编辑器¶
有三种连续映射编辑器。它们中的每一个都与特定的属性类型关联:
| 编辑器类型 | 支持的数据类型 | 属性 |
|---|---|---|
| 颜色渐变编辑器 | 颜色 | 节点/边/边框/标签颜色 |
| 连续-连续编辑器 | 数字 | 大小/宽度/透明度 |
| 连续-离散编辑器 | 所有其他 | 字体/形状/文本/图形/位置等 |
范围设置面板¶

每个连续映射编辑器都有一个范围设置部分(标记为编辑句柄位置和值),其中包含以下字段和按钮:
句柄位置 - 此框显示选定滑块句柄的当前值。您也可以直接在此框中输入值,将滑块移动到确切位置。
设置最小值和最大值… - 点击此按钮以设置此编辑器的整体范围。首次打开编辑器时,最小值 和 最大值 由您选择的数据列的范围(即映射列的最小值和最大值)设置。在弹出对话框中,您可以手动输入最小值和最大值,或者通过点击重置按钮将其设置为数据列的当前最小值和最大值。
添加 - 向编辑器添加新句柄。
删除 - 从滑块小部件中删除选定句柄。
句柄值(例如 节点填充颜色) - 点击此按钮以编辑分配给选定句柄的值(例如颜色)。
渐变编辑器¶

渐变编辑器是用于创建颜色连续映射的编辑器。默认调色板取决于用于映射的列中的值范围。要更改调色板,请点击当前调色板按钮并选择一个调色板。此对话框还包含仅显示色盲友好和反转颜色的选项,用于反转调色板的颜色。要手动更改颜色,请双击句柄(顶部的小三角形),并从任何调色板中选择单一颜色。只有在编辑器有两个或更多句柄时,才会创建颜色渐变(请参阅下方的示例)。
| 1 个句柄(无渐变) | 2 个句柄 |
|---|---|
![]() | ![]() |
连续-连续编辑器¶

连续-连续编辑器用于创建数值数据和数值属性(例如大小、透明度)之间的映射。要更改分配给 Y 轴的值(上例中显示的属性是边宽度),请拖动小方块或双击它们以直接输入确切值。
连续-离散编辑器¶

连续-离散编辑器用于创建从数值列值到离散属性(例如字体、形状或线条样式)的映射。要编辑特定区域的值,请双击轨道上的图标。
增强图形¶
增强图形为与节点自定义图形一起使用的视觉样式传递映射集提供支持。这些映射全部采用以下形式:
type: argument1=”val1” argument2=”val2”
其中 type 是图表或渐变的类型,arguments 是构建该图表或图形的指令。
要使用增强图形,首先将所需的映射添加到节点表中的新列。然后,使用传递映射中的新列为自定义涂色属性之一创建样式。这将把您自定义定义的图表或图形添加到节点中。
下文展示了一个使用增强图形向节点添加第二个标签的示例。在这种情况下,酵母 ORF ID 被添加为辅助节点标签,并偏移到节点的右上角。可以在此处找到支持的图形类型完整列表。此映射如下所示:
label: attribute=name labelsize=10 outline=false background=false color=orange

label
此图表类型提供了一种向节点添加文本标签的机制,它比 Cytoscape 可视化属性提供的简单标签有更多的显示选项。参数:
color:指定标签的颜色。
attribute:从中获取标签的属性。
background:布尔选项,导致在标签后面和网络上方绘制半透明背景。
bgcolor:背景颜色。
dropShadow:在标签后面添加阴影。
label:要绘制的标签。
labelfont:用于标签的字体系列。
labelsize:用于标签的字体大小。
labelstyle:用于标签的字体样式。
outline:勾勒字体轮廓。
outlineColor:轮廓颜色。
有关添加增强图形的工作流程的更详细描述,请参考教程。
12.7. 管理样式¶
所有 Cytoscape 样式设置最初都从用户无法更改的默认文件中加载。当用户更改属性时,session_syle.xml 文件将保存在会话文件中。这意味着如果您保存会话,则不会丢失属性。在正常操作期间不会保存其他样式文件。
保存样式¶
样式会自动与其创建所在的会话一起保存。在退出 Cytoscape 之前,系统会提示您确保在退出前保存会话。也可以将样式保存到与会话文件分开的文件中。为此,请导航至菜单选项文件 → 导出 → 将样式导出到文件…,并将选定的样式保存到文件中。此功能可用于与其他用户共享样式。

您还可以更改所有未来 Cytoscape 会话的默认样式列表。为此,请点击样式部分中的选项
下拉菜单,并选择将当前样式设为默认。这将把当前样式保存为 default_vizmap.xml 文件到您的 CytoscapeConfiguration 目录中(位于您的主目录中)。这些样式随后将在每次启动 Cytoscape 时加载。
样式文件格式¶
Cytoscape 原生样式格式是 Style XML。如果您想与其他 Cytoscape 用户共享样式文件,则需要将其导出为这种格式。
从 3.1.0 版本开始,Cytoscape 还可以导出 Cytoscape.js 兼容的 JSON 文件。由于 Cytoscape.js 是一个独立的 JavaScript 库,并且 Cytoscape 和 Cytoscape.js 之间存在一些差异,并非所有属性都映射到 JSON。以下属性不支持导出:
自定义图形及其位置
边弯曲
嵌套网络
网络背景(注意:这可以在 Cytoscape.js 中作为标准 CSS 手动设置)
连续-离散编辑器用于创建从数值数据值到离散属性(例如字体、形状或线条样式)的映射。要编辑特定区域的值,请双击轨道上的图标。
导入样式¶
要导入现有样式,请导航至菜单选项文件 → 导入 → 从文件导入样式…并选择 styles.xml(Cytoscape 3 格式)文件。导入的属性将补充现有属性,如果属性名称相同,则会覆盖现有属性。您还可以使用 -V 命令行选项指定样式文件。从命令行加载的属性将覆盖任何默认属性。








