当用ggplot(geom_line)在一个图上绘制2条线时,该线的颜色不等于我设置的颜色。我想要黑色和蓝色线条,但结果是红色和蓝色。我在没有(第一个代码)和(第二个)'scale_color_manual'的情况下进行了尝试,还尝试了使用颜色插入颜色,结果相同:
第一个代码:
ggplot(data=main_data) +
# black plot
geom_line(aes(x=vectors_growth_rate_with_predator,
y=disease_prevalnce_with_predator,
color = "black")) +
# blue plot
geom_line(aes(x=vectors_growth_rate_with_predator,
y=disease_prevalnce_without_predator,
color = "blue"))
Run Code Online (Sandbox Code Playgroud)
第二个代码:
PrevVSGrowth =
ggplot(data=main_data) +
# black plot
geom_line(aes(x=vectors_growth_rate_with_predator,
y=disease_prevalnce_with_predator)) +
# blue plot
geom_line(aes(x=vectors_growth_rate_with_predator,
y=disease_prevalnce_without_predator))
PrevVSGrowth + scale_color_manual(values=c(disease_prevalnce_with_predator= 'black',
disease_prevalnce_without_predator = 'blue'))
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何向我的箱形图添加观察数量。包中的示例演示了如何在箱形图上添加观察数。但我需要在 x 轴上写下观察数,我将在此基础上制作一个可重现的示例。
# function for number of observations
give.n <- function(x){
return(c(y = median(x)*1.05, label = length(x)))
# experiment with the multiplier to find the perfect position
}
# plot
ggplot(mtcars, aes(factor(cyl), mpg, label=rownames(mtcars))) +
geom_boxplot(fill = "grey80", colour = "#3366FF") +
stat_summary(fun.data = give.n, geom = "text", fun.y = median)
Run Code Online (Sandbox Code Playgroud)
vDF <- data.frame(v = rnorm(50,1,40))
g <- ggplot(vDF, aes(x = vDF)) + geom_histogram()
ggsave(g, file="name.eps")
Run Code Online (Sandbox Code Playgroud)
我不断收到错误消息
grDevices::postscript(..., onefile = FALSE, Horizontal = FALSE, 中的错误:无法打开文件“name.eps”
为什么我不能完成这个工作?我看到建议说‘嘿,就做...
setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()
Run Code Online (Sandbox Code Playgroud)
但我什至无法首先保存原始 .eps 文件。
这是我正在运行的代码
library(quantmod)
library(tseries)
Stocks={}
companies=c("IOC.BO","BPCL.BO","ONGC.BO","HINDPETRO.BO","GAIL.BO")
for(i in companies){
Stocks[i]=getSymbols(i)
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取从中获取的数据帧列表getSymbols以存储在Stocks. 问题是getSymbols直接将数据帧保存到全局环境仅保存列表中Stocks的字符。companies
如何将全局环境中的数据框保存到列表中?
如有任何帮助,我们将不胜感激..提前致谢!
是否可以使用 制作与此类似的气泡图R,最好是ggplot2?
鉴于此示例中有三个类别,属性是
数据(虽然我真的很确定这种情节的数据应该是什么样的)
set.seed(1)
dat <- data.frame(category = rep(c("A", "B", "C"), each = 10),
bubble = rep(1:10, 3),
radius = round(runif(30, min = 0.5, max = 3), 2),
stringsAsFactors = FALSE)
dat
Run Code Online (Sandbox Code Playgroud)
我用d3.js标记它- 我不熟悉 - 尽管问题是关于 但是可以随意编辑标签和/或帖子。R. 我希望能吸引熟悉两者的社区成员。
谢谢。
library(tidyverse)
library(emojifont)
load.emojifont("OpenSansEmoji.ttf")
pal <- c("\U1f337"="blue","\U1f370"="red")
set.seed(124)
xdf <- data_frame(x=rnorm(10),y=rnorm(10),
label=rep(c("\U1f337","\U1f370"),5))
xdf %>% ggplot(aes(x=x,y=y,label=label,color=factor(label))) +
geom_text(family="OpenSansEmoji") +
scale_color_manual("object",values=pal) +
guides(color=guide_legend(labels=FALSE)) +
theme(legend.text=element_text(family="OpenSansEmoji"))
Run Code Online (Sandbox Code Playgroud)
很容易看出,这个传说的信息量非常大。如果能用彩色表情符号代替两倍的彩色字母就好了a,我希望用单词tulip和代替黑色表情符号cake。
这能实现吗?
我有这个数据框:
set.seed(100)
x <- data.frame(KAS1_1 = sample(c(letters[1], NA), 10, replace =TRUE),
KAS1_2 = sample(c(letters[2], NA), 10, replace =TRUE),
KAS1_3 = sample(c(letters[3], NA), 10, replace =TRUE),
KAS1_4 = sample(c(letters[4], NA), 10, replace =TRUE),
KAS1_5 = sample(c(letters[5], NA), 10, replace =TRUE),
stringsAsFactors = FALSE)
> df
KAS1_1 KAS1_2 KAS1_3 KAS1_4 KAS1_5
1 a <NA> <NA> d e
2 a <NA> <NA> <NA> <NA>
3 <NA> b <NA> d <NA>
4 a b <NA> <NA> <NA>
5 a <NA> c <NA> <NA>
6 …Run Code Online (Sandbox Code Playgroud) 我有以下数据框,其中我预测 y 作为年龄和性别的函数:
df = data.frame(
age = c('old', 'old', 'young', 'young'),
gender = c('male', 'female', 'male', 'female'),
y = 1:4)
Run Code Online (Sandbox Code Playgroud)
以及相应的图表:
ggplot(df, aes(x=age, y=y, fill = gender)) +
geom_col(position = 'dodge')
Run Code Online (Sandbox Code Playgroud)
我想控制图例框的外观。特别是,我希望整个框向右对齐(而不是向左对齐)。因此,关键图例应该出现在框的右侧,左侧应该是标签。
我知道 theme() 函数的 legend.text.align 参数,但它仅控制键与其相应标签之间的距离。
知道如何反转对齐吗?
假设我有一个x如下列表:
library(purrr)
set.seed(4152)
x <- rerun(5, a = sample(c("A","B","C","D"),1), b = c(1,2,3,4,5))
Run Code Online (Sandbox Code Playgroud)
x
[[1]]
[[1]]$a
[1] "B"
[[1]]$b
[1] 1 2 3 4 5
[[2]]
[[2]]$a
[1] "B"
[[2]]$b
[1] 1 2 3 4 5
[[3]]
[[3]]$a
[1] "C"
[[3]]$b
[1] 1 2 3 4 5
[[4]]
[[4]]$a
[1] "C"
[[4]]$b
[1] 1 2 3 4 5
[[5]]
[[5]]$a
[1] "A"
[[5]]$b
[1] 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)
我想要keep列表x中的所有元素$a %in% c("A","C"),所以我尝试了:
x_sub …Run Code Online (Sandbox Code Playgroud) 我有一个来自大量 csv 文件的 df 。当前的列名称具有其名称的占位符。有没有办法使每列的名称成为数据的一部分。整个列的字符串将相同。我会手动更改名称,但有 256 列。
开始 df:
col2 col3 col4 ...
1 version=1 numCh=10 reserved=0
2 version=1 numCh=10 reserved=0
3 version=1 numCh=11 reserved=0
4 version=1 numCh=11 reserved=0
...
Run Code Online (Sandbox Code Playgroud)
所需的输出:
version numCh reserved ...
1 1 10 0
2 1 10 0
3 1 11 0
4 1 11 0
...
Run Code Online (Sandbox Code Playgroud)
一直在尝试不同的方法,看看其他人是否创造了类似的东西。