我正在尝试编写一个绘制绘图的函数并将其自动保存到文件中.我努力做到这两点动作[plotname = varname&filename = varname&],并使其与从循环调用它兼容.
# Create data
my_df = cbind(uni=runif (100),norm=rnorm (100),bino=rbinom(100,20, 0.5)); head (my_df)
my_vec = my_df[,'uni'];
# How to make plot and file-name meaningful if you call the variable in a loop?
# if you call by name, the plotname is telling. It is similar what I would like to see.
hist(my_df[,'bino'])
for (plotit in colnames(my_df)) {
hist(my_df[,plotit])
print (plotit)
# this is already not meaningful
}
# step 2 write it into files
hist_auto <- function(variable, …Run Code Online (Sandbox Code Playgroud) 理论上,vioplot包的小提琴图是盒图+密度函数.
在"boxplot部分"中,
黑匣子对应于IQR(实际上,见下文),和
中线应该对应相同的范围(相邻值,默认值为1.5 IQR),但不是(见下文).任何人都可以解释为什么他们不同?
require("vioplot")
a = rnorm(100)
range (a)
a = c(a,2,8,2.9,3,4, -3, -5) # add some outliers
par ( mfrow = c(1,2))
boxplot(a, range=1.5)
vioplot(a, range=1.5 )
Run Code Online (Sandbox Code Playgroud)上面提到:
Hintze,JL和RD Nelson(1998).小提琴图:箱形图 - 密度跟踪协同作用.美国统计学家,52(2):181-4.
如何在plotly中的3D图的轴标签上添加上标或下标?
我尝试使用bquote,但是没有用。谷歌搜索也没有带来太多的事情。
清除代码:
library(plotly)
set.seed(123)
n <- 100
theta <- runif(n, 0, 2*pi)
u <- runif(n, -1, 1)
base<-'B1'
compare<-'A1'
plot (1, 1, main = bquote('Annual mean' ~CO[2] ~'Flux Difference: \n' ~.(compare)~ 'minus'~.(base)))
p <- plot_ly(x = ~sqrt(1 - u^2) * cos(theta), y = ~sqrt(1 - u^2) * sin(theta), z = ~u) %>%
layout(
title = "Layout options in a 3d scatter plot",
scene = list(
xaxis = list(title = bquote('Annual mean' ~CO[2] ~'Flux Difference: \n' ~.(compare)~ 'minus'~.(base))), …Run Code Online (Sandbox Code Playgroud) 经过相当长的一段时间搜索后,我没有找到解决我的问题的例子:
如何使用 geom_text() 标记 geom_bar(position = 'fill')?
mydf = data.frame(
'sample' = sample(x = LETTERS[1:3], size = 111,replace = T),
'category' = sample(x = 1:11, size = 111,replace = T)
)
mydf %>%
group_by(sample) %>%
ggplot( aes(fill=sample, x=category)) +
geom_bar( position="fill" )
# Does not work: + geom_text(position='fill', aes(label = ..y..))
Run Code Online (Sandbox Code Playgroud)
预期结果:在条形中间标记 %,如示例所示(除了它显示计数,与我的情况不同):
来自https://ggplot2.tidyverse.org/reference/geom_text.html
我想真正的问题是如果我使用 geom_bar(position = 'fill'),“y”和“label”是什么,
我对 ggplot 混合计算(每个类别的比例)与可视化感到困惑。
谢谢!
我找到的大多数解决方案都是针对数据框或列表的,而不是针对向量的。
从:
myvec = c(A=2, B=2, A=2)
到:
desiredvec = c(A=4, B=2)