问题标签 [circlize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
386 浏览

r - 如何将数据从框架/数据表转换为R中的矩阵以用于和弦图?

这可能看起来相对简单,但我正在尝试将数据从数据帧更改为矩阵,因为我正在使用新的 D3 chorddiag 包。在我使用 circlize 并依赖于使用数据框功能之前。Chorddiag 似乎完全依赖于矩阵,所以我想知道如何跳过这些类型。下面是示例:

如何将食物更改为类似于 m?我想可能像下面这样,但我不知道如何添加名称。感谢帮助

0 投票
3 回答
2272 浏览

r - R:circlize circos plot - 如何以最小的重叠绘制扇区之间的未连接区域

我有一个数据框,它具有 4 组患者和细胞类型之间的共同特征。我有很多不同的功能,但共享的(存在于 1 个以上的组中)只是其中的一小部分。

我想制作一个 circos 图,以反映患者组和细胞类型之间的共享特征之间的少数联系,同时了解每组中有多少未共享的特征。

在我看来,它应该是一个有 4 个扇区的图(每组患者和细胞类型一个),它们之间有一些连接。每个扇区大小应反映组中要素的总数,并且该区域的大部分不应与其他组相连,而是空的。

这是我到目前为止所拥有的,但我不希望扇区专用于每个功能,只针对每组患者和细胞类型。

MWE:

图。1

编辑!!

@m-dz 在他的回答中显示的实际上是我正在寻找的格式,4 个不同的患者/细胞类型组合的 4 个扇区,仅显示连接,而非连接的功能,虽然没有显示,但应该解释部门的规模。

但是,我意识到我的情况比上面 MWE 中的情况更复杂。

一个特征被认为出现在 2 个患者/细胞类型组中,不仅当它在 2 个组中同时,而且当它相似时......(高于阈值的序列同一性)。这样,我就有了裁员...

Patient1-cell1 中的特征 A 可以连接到 Patient2-cell1 中的特征 A,也可以连接到特征 B...对于 Patient1-cell1,特征 A 应该只计算一次(唯一计数),并扩展到患者 2-中的 2 个不同特征单元格1。

请参阅下面的示例,了解我的实际数据如何更精确,看看使用这个示例是否可以得到最终的 circos 图!谢谢!!

0 投票
1 回答
1163 浏览

r - R circlize 和弦和网格着色

我有一个包含两列的数据集。一个是数据类别,一个是我的样本。我以 mtcars 为例

现在假设我对汽车名称(现在称为品牌)感兴趣,因为我的样品和齿轮是类别。我想要两件事

1.从类别发出的和弦,在这种情况下,齿轮是三种颜色,对应于类别编号。

2.所有样品(在本例中为品牌)的网格颜色为相同颜色。

如果你在哪里执行

您会为所有内容分配随机颜色,并且从类别(品牌)发出的和弦将被多重着色。

现在需要执行上述命令(我认为)如下

请注意,我已经定义了 col 和 grid.col 函数,我认为需要对其进行定义以分别解决我的第 1 点和第 2 点,这是我遇到问题的地方。

到目前为止,对于和弦颜色(第 1 点),我已经尝试了以下方法,但没有奏效

对于网格颜色(第 2 点)我尝试过

这让我得到了我想要的类别(齿轮)颜色,但对于示例颜色(品牌),网格颜色不是蓝色。

请注意,我的实际数据是作为数据框而不是矩阵加载的。

注意:第一个点的解决方案是颠倒列的顺序,因为它是定义所用颜色数量的第一列。因此做

0 投票
1 回答
674 浏览

r - 错误“选择了未定义的列”-R 中的和弦图(circlize 包)

chordDiagram()在使用包中的函数时,我需要一些关于返回错误消息的帮助circlize

我正在处理渔业上岸量。渔船在一个港口(母港PORT_DE)开始航行,并在另一个港口(登陆港)登陆他们的捕获物(在这种情况下为扇贝PORT_LA)。我正在尝试使用circlize包绘制和弦图来可视化端口之间的着陆流。我有 161 个唯一端口,端口名称存储为character字符串。

在调用chordDiagram()函数绘制和弦图之前,我将相关列存储在一个虚拟对象 ( m) 中。

dcast()然后我使用并重命名行创建一个邻接矩阵。

最后,我调用 plot 函数chordDiagram()

不幸的是,这会导致错误消息。

如果我用数字替换行名和列名,函数就会运行,并返回正确的绘图。

任何想法如何使用实际端口名称运行该功能?

我已经尝试删除特殊字符," "用下划线替换空格"_",保留较少数量的字符,只保留几个端口对。不幸的是,同样的错误不断出现。任何帮助表示赞赏。

请注意,自从发布这个问题以来,我已经设法创建了所需的可视化。这是另一个相关问题的链接,其中还包括调整和弦图各种设置的代码。

调整 highlight.sector() 宽度和位置 - R 中的弦图(circlize 包)

0 投票
1 回答
319 浏览

r - 在 circlize 中绘制 chordDiagram 时出错:“circos.initialize 中的错误”

当我尝试在 circlize (R) 中绘制 chordDiagram 时,出现持续错误。我能够用一个数据集(Data1)很好地生成绘图,但不能用另一个(Data2),它在结构上是相同的(据我所知)。两个数据集都复制如下。它们具有相同的尺寸和结构-我认为!“年”和“月”都被识别为具有相同级别数的因子,“平均值”是一个数字。两个数据集都被 R 识别为数据框。我一定遗漏了一些东西!

我得到的错误是:
“circos.initialize 中的错误(factors = factor(cate, levels = cate), xlim = cbind(rep(0, : 由于xlim是矩阵,它应该具有与长度相同的行数) 2的级别factors和列数。"

我看过这篇文章,但是那里的解决方案对我没有帮助,所以我想我一定有一个不同的问题.....

我正在使用的代码如下:

数据框(“Data1”和“Data2”)在我的问题结束时被复制。

Data1 有效 - 生成的图没有错误:

Data2 不绘图并给出错误

代码的第二部分使用 Data2 产生:“circos.initialize 中的错误(factors = factor(cate, levels = cate), xlim = cbind(rep(0, : 由于xlim是矩阵,它应该具有相同数量的rows 作为级别的长度factors和列数为 2。"

任何建议将不胜感激!

谢谢

数据1:

数据2:

0 投票
1 回答
378 浏览

r - R(circlize):如何删除自我链接?

这是一个示例代码:

我怎样才能“屏蔽”自链接?我想删除它们以保持空间为空(右图)。

在此处输入图像描述

0 投票
1 回答
566 浏览

r - R:用图像作为标签圈出和弦图?

是否可以将图像放置在 a 标签所在的位置?circlize chordDiagram

例如,我手动将各大洲的 SVG 轮廓放在标签上。我想知道是否有一种编程方式来实现这一点。

在此处输入图像描述

这是一个入门示例,我希望能够添加图像标签。请注意,circlize网站上有一个示例似乎可以执行我想要的操作:

在此处输入图像描述

但我不能将它与这个例子结合起来:

0 投票
1 回答
1113 浏览

r - 为使用 R circlize 包生成的图形添加标题

请问如何为使用 circlize 包生成的 circos 图添加标题?我在手册中没有找到任何参考。

0 投票
1 回答
1066 浏览

r - r chord-diagram circlize --> 旋转名称

我正在写作是因为我想获得一些关于 R 中的情节的帮助,请使用包 circlize。

我正在尝试制作和弦图,我可以制作,但是情节上的名称重叠,

在此处输入图像描述

然后我尝试使用我从中获取的代码:我得到了相同的情节,但名称重复,并且相互重叠 在此处输入图像描述

我用于情节的代码是

并且数据框已经包含在我正在使用的矩阵中的名称。

我想得到的是一个名称以 90 度出现以避免重叠的图。

非常欢迎任何帮助,并在此先感谢!

PS:我也尝试了这里发布的另一个解决方案,但我没有为我工作(R:在 circlize 图中调整标签

0 投票
1 回答
1163 浏览

r - 用circlize设置和弦图的扇区宽度

我有一个包含 100 人的数据集,他们诊断出 5 种疾病。条件的任何组合都可能发生,但我已将其设置为条件 D 的概率取决于条件 A,而 E 取决于条件 B。

为了制作一个共现矩阵,其中每个单元格是在行和列中同时诊断的人数,我使用矩阵代数:

然后我想用一个和弦图来显示每个诊断的共同诊断的比例。

带有 5 个组的示例和弦图

默认情况下,为每个组分配的扇区(饼图)大小与链接数成正比。

是否可以设置扇区宽度来说明每次诊断的人数?

这个问题似乎与 circlize 书的第 14.5 节有些相关,但我不确定如何为这个gap.after论点进行数学运算。

根据circlize book 的第 2.3 节circos.initalize,我尝试使用设置扇区大小,但我认为该chordDiagram函数会覆盖它,因为外部的比例完全相同。

在此处输入图像描述

我看到了很多微调轨道的选项,chordDiagram但对于扇区来说却不多。有没有办法做到这一点?