我正在使用 <select id="busyness"
name="busyness"
class="form-control mt-1"
v-model="workloadLevels"
@@change="onWorkloadFilterChange($event)">
<option v-for="wl in workloadLevels" v-bind:value="wl.id">{{ wl.description }}</option>
</select>
<div v-for="op in officeProjections" class="mt-1">
<div class="card">
<div class="card-body">
<h3 class="card-title">{{ op.consultantName }}</h3>
<p>{{ op.workloadLevel }} <button type="button" v-bind:id="op.ConsultantId" class="btn btn-lg btn-info" data-toggle="popover" data-placement="right" v-bind:data-content="op.comment"></button></p>
<p>{{ op.office }}</p>
</div>
</div>
</div>
,并且我的数据集具有创建节点的因子协变量。该协变量有足够的因子,它们的名称足够长,以至于它们在节点处创建的边缘彼此重叠。我想找到一种方法来阻止这种重叠。
我检查了其他问题,发现其中一个answer提供了一些帮助。 ctree
的绘图依赖于ctree
包,我可以使用函数在边缘上编写新标签。现在的问题是,我grid
树时,我不知道如何禁止显示默认打印的标签。我对plot
或grid
知之甚少,无法找出需要抑制的对象。
plot.party
所得的第一个节点的一侧为“ 2人座,紧凑,中型,超小型”,另一侧为“小型货车,皮卡,越野车”。我最终在情节中看到的是“ 2人座,紧凑型,中型,超小型面包车,皮卡,小型”。我已经使图形设备全屏显示。 (我还有其他只有一个节点的树,这使得它们在全屏尺寸下看起来很奇怪,所以我不想来回走动。)
我的部分解决方案是
libary(partykit)
library(tidyverse) #this is here for the mpg data set in next line. not required for partykit
data(mpg)
irt <- ctree(hwy~as.factor(class),data=mpg)
plot(irt)
将“ 2人座,紧凑型”堆叠在“中型,超小型”顶部,并使它们不会重叠“微型货车,皮卡,SUV”。但是现在,我仍然在情节中保留原始的过长标签。我尝试固定的标签所贴的边缘在一个地方折断了,该地方不适用于新的堆叠标签。修复该边缘会很好,但真正的问题是抑制edge1-1上原始的,过长的标签。
答案 0 :(得分:0)
边缘标签由功能edge_simple()
绘制,该功能为边缘标签提供了多种对齐方式,请参见?edge_simple
。仅当边缘标签的平均长度超过justmin
且默认为Inf
时才应用对齐方式(即:无对齐方式)。各种理由都是可能的(交替,增加,减少或相等)。
因此,在您的情况下,最简单的解决方案可能是将justmin
设置为足够小的有限值。另外(或另外),您也可以通过设置gpar(fontsize = ...)
来减小字体大小。为了说明,下面的两个示例都是在6英寸x 8英寸PNG设备上生成的:
library("partykit")
data("mpg", package = "ggplot2")
irt <- ctree(hwy ~ factor(class), data = mpg)
plot(irt, ep_args = list(justmin = 15))
plot(irt, ep_args = list(justmin = 15), gp = gpar(fontsize = 10))