我有一个ggplot2线图,有两行显着重叠.我正在尝试使用position_jitterdodge()它们以使它们更加明显,但我无法以相同的方式获得线条和指向两者的抖动.我试图只是水平抖动点和线(因为我不想在y轴上建议任何变化).这是一个MWE:
## Create data frames
dimension <- factor(c("A", "B", "C", "D"))
df <- data.frame("dimension" = rep(dimension, 2),
"value" = c(20, 21, 34, 32,
20, 21, 36, 29),
"Time" = c(rep("First", 4), rep("Second", 4)))
## Plot it
ggplot(data = df, aes(x = dimension, y = value,
shape = Time, linetype = Time, group = Time)) +
geom_line(position = position_jitterdodge(dodge.width = 0.45)) +
geom_point(position = position_jitterdodge(dodge.width = 0.45)) +
xlab("Dimension") + ylab("Value")
Run Code Online (Sandbox Code Playgroud)
哪个产生丑陋:
我显然在这里遇到了一些根本性的错误:我应该怎样做才能使geom_point抖动跟随geom_line抖动?
Python noob 这里,我尝试使用exec_runfrom 的函数docker-py将命令发送到分离的 docker 容器,并让输出实时到达 stdout。这是一个 MWE:
import docker, sys
client = docker.from_env()
# start a detached container
box = client.containers.run(image = "ubuntu",
remove = True,
detach = True,
tty = True,
command = "/bin/bash")
# send a test command
box.exec_run(cmd = "find /") # gives no output in the terminal when run
# same again, but save the output
run = box.exec_run(cmd = "find /")
print(run.output.decode("utf-8"))
box.stop()
sys.exit()
Run Code Online (Sandbox Code Playgroud)
我可以通过将输出存储在变量中来获取事实后的输出,但我似乎无法获得实时输出。我实际上想给它长时间运行的进程,因此最好在发生时查看输出(以及保存它)。这很难做到吗,还是我在这里错过了一些非常基本的东西?
ggplot2我一直在尝试在条形图上为一组组的子集绘制手动标记的显着性条形图,ggsignif无论ggpubr运气如何。数据类似于以下 MWE:
set.seed(3)
## create data
df <- data.frame(activity = rep(c("Flying", "Jumping"), 3),
mean = rep(rnorm(6, 50, 25)),
group = c(rep("Ecuador", 2),
rep("Peru", 2),
rep("Brazil", 2)))
## plot it
ggplot(df, aes(x = activity, y = mean, fill = group)) +
geom_bar(position = position_dodge(0.9), stat = "identity",
width = 0.9, colour = "black", size = 0.1) +
xlab("Activity") + ylab("Mean")
Run Code Online (Sandbox Code Playgroud)
我想手动指定重要性标签,例如“飞行”上的“巴西/厄瓜多尔”和“跳跃”上的厄瓜多尔/秘鲁。有谁知道如何正确处理此类数据,例如ggsignif?有没有办法通过名称引用每个条形图,而不是尝试计算出其 x 轴位置?