小编Gre*_*gor的帖子

如何在ggpairs()中更改相关文本大小

ggpairs()GGally包中使用.对图是四个连续变量,我给另一个列,一个有2个级别的因子,一个colour非常好用的参数,都按照我的预期着色点和(奖励!)在图的对角线上部分按该因子水平报告相关性.我唯一的问题是报告相关性的文本太小.

我可以在ggpairs()图中增加文本报告关联的大小吗?

我试着给出一个cex论点,似乎没有效果.我已经在使用size另一个变量; 它不会影响文本.

对于一个具体的例子:

require(GGally)
mtcars$cyl <- as.factor(mtcars$cyl)
ggpairs(mtcars, columns = c(1, 5), colour = "cyl")
Run Code Online (Sandbox Code Playgroud)

r ggplot2

12
推荐指数
2
解决办法
9411
查看次数

为什么在data.frame中预先指定类型会变慢?

我正在预先分配一个大数据框,以便稍后填写,我通常会这样做NA:

n <- 1e6
a <- data.frame(c1 = 1:n, c2 = NA, c3 = NA)
Run Code Online (Sandbox Code Playgroud)

如果我事先指定数据类型,我想知道它是否会让事情变得更快,所以我测试了

f1 <- function() {
    a <- data.frame(c1 = 1:n, c2 = NA, c3 = NA)
    a$c2 <- 1:n
    a$c3 <- sample(LETTERS, size= n, replace = TRUE)
}

f2 <- function() {
    b <- data.frame(c1 = 1:n, c2 = numeric(n), c3 = character(n))
    b$c2 <- 1:n
    b$c3 <- sample(LETTERS, size= n, replace = TRUE)
}

> system.time(f1())
   user  system elapsed 
  0.219   0.042   0.260 …
Run Code Online (Sandbox Code Playgroud)

performance r dataframe

11
推荐指数
2
解决办法
383
查看次数

如何手动将图例添加到ggplot? - R.

我有以下情节:

情节

我用来生成这个图的代码是:

ggplot(df, aes(x = instance, y = total_hits))+
geom_point(size = 1)+
geom_line()+
geom_line(aes(x=df$instance, y = line1), colour="red")+
geom_vline(xintercept=805) +
geom_line(aes(x=df$instance, y = line2), colour="blue")+
geom_line(aes(x=df$instance, y = line3), colour="purple") 
Run Code Online (Sandbox Code Playgroud)

我想在这个情节中添加一个图例来标记每一行.但是,由于我手动添加了每一行,我不知道如何添加图例.有什么提示/建议吗?

  • 我无法共享我正在使用的数据,所以我只是想找一种手动添加图例的通用方法.

r ggplot2

11
推荐指数
1
解决办法
8万
查看次数

我是否需要重塑这些广泛的数据才能有效地使用ggplot2?

我有一个看起来像的data.frame

  Year Crustaceans       Cod       Tuna    Herring Scorpion.fishes
1 1950    58578630   2716706   69690537   87161396        15250015
2 1951    59194582   3861166   34829755   51215349        15454659
3 1952    47562941   4396174   31061481   13962479        12541484
4 1953    68432658   3901176   23225423   13229061         9524564
5 1954    64395489   4412721   20798126   25285539         9890656
6 1955    76111004   4774045   13992697   18910756         8446391
Run Code Online (Sandbox Code Playgroud)

还有几个物种(列),以及从1950年到2006年的几年.我想用ggplot2(我刚刚学习)来探索它.我是否需要转换这些数据,以便物种是有效使用ggplot2的因素?如果没有,我如何避免必须单独为每个物种创建一个层?如果是,(或实际上在任何一种情况下)使用reshapeplyr将列名转换为因子的快速指针将非常感激.

r ggplot2

10
推荐指数
1
解决办法
1809
查看次数

生成knitr报告

我很新knitr,但我写了一个脚本,为一个县生成一份报告.第一个代码块中的第一行是display_county <- "King",它查询数据库以制作关于King County的各种好东西.现在我想为我所在州的每个县创建报告.脚本中唯一需要更改的行是.的定义display_county.

我所知道的brew是建立了这样的东西的包,我知道有重叠之间brewknitr,但我不知道我应该使用.

使用Brew和Sweave的这个答案可以进行微小的修改,但有一种很好的knitr方法可以绕过brew吗?

r knitr

10
推荐指数
1
解决办法
476
查看次数

为什么我不能使用override.aes来更改图例中的颜色?

我想从ggplot的填充图例中删除颜色线.我通常guide_legend(override.aes = ...)用来修改传奇美学 - 适用于点,线,alpha等,但它不适用于我的color审美.我究竟做错了什么?

# generate data
set.seed(47)
data = data.frame(year = rep(2000:2004, 3),
                  value = runif(15),
                  group = rep(c("A", "B", "C"), each = 5))

# create the plot
p = ggplot(data, aes(x = year, y = value, fill = group)) +
    geom_area(position = position_fill(), color = "white") +
    scale_fill_grey()

# this should modify the fill legend to remove the colored line
# but the line is still there
p + guides(fill = guide_legend(override.aes = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 aesthetics

10
推荐指数
1
解决办法
1538
查看次数

R:在使用 facet_wrap() 时制作更大的图

我在可视化 R Markdown 文档中的某些数据时遇到了一些麻烦。我附上一张图片供您参考。

我希望生成的图形更大,并希望 HTML 页面允许这些图形展开,但它们都被“压扁”了

g <- ggplot(item_loc_metrics, aes(capc_ssp_ratio, avg_wk_bkrm_eoh)) + geom_point(color="firebrick")
g
Run Code Online (Sandbox Code Playgroud)

我运行它,它返回一个格式很好的图形: 所有数据的图表

这段代码工作正常,但我想根据我正在查看的商店将这个相同的图形切割 60 多次。我试图用这一点来做到这一点:

g2 <- ggplot(item_loc_metrics, aes(capc_ssp_ratio, avg_wk_bkrm_eoh)) + geom_point(color="firebrick") + facet_wrap(~CO_LOC_N, ncol=5, scales = "fixed", shrink = FALSE)
g2
Run Code Online (Sandbox Code Playgroud)

我最终得到的东西是这样的:

店铺数据图表

plot r knitr

10
推荐指数
1
解决办法
5248
查看次数

ggplotly文本审美导致geom_line无法显示

我正在尝试使用由文本美学定义的工具提示来渲染简单的geom_line.

q <- ggplot(data = graphDataFactor(), aes(x = Dates,
                                          y=Variable_Data, 
                                          colour = Variable_Name
                                          #,
                                        #text = paste('Date: ', as.Date(Dates),
                                        #'<br>Variable:', Variable_Name,
                                        #'<br>Var Unit:', Variable_Data
                                                  #)
                                                  )) + 
          geom_line(size = 1) + 
          labs(colour = "Variables") 
ggplotly(q
         #, tooltip = c("text")
         )
Run Code Online (Sandbox Code Playgroud)

所以这段代码与文本美学评论出来的工作正常并呈现出来.但是,当我尝试使用文本美学和工具提示时,geom_line不会出现在图中.将鼠标悬停在正确的位置上会显示正确的工具提示,并且颜色图例会正确显示.

另外,我有一个相同的调用,唯一的区别是我调用geom_point而不是geom_line,并且渲染完全正常.

这只是ggplotly的一个错误,还是我的代码有问题?

r ggplot2 shiny plotly

10
推荐指数
1
解决办法
1712
查看次数

高效找到最后一个 1 序列中的第一个

我有以下带有 0 和 1 的向量:

test1 <- c(rep(0,20),rep(1,5),rep(0,10),rep(1,15)) 

test1
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
                                                                          ^
test2 <- c(rep(0,8),rep(1,4),rep(0,5),rep(1,5),rep(0,6),rep(1,10),rep(0,2)) 

test2
[1] 0 0 0 0 0 0 0 0 1 1 1 1 0 0 …
Run Code Online (Sandbox Code Playgroud)

r vector sequence run-length-encoding

10
推荐指数
8
解决办法
2641
查看次数

在Ggplot2中使用自定义OTF字体

我需要在R中使用自定义字体,即"Archer"和ggplot2.Archer是我系统上安装的otf字体(Mac OSX Yosemite).

这个脚本(在这里找到:在ggplot2中修改字体)不适用于Archer,但适用于其他字体,如Arial.

install.packages("extrafont");library(extrafont)
font_import("Archer")
library(ggplot2)
qplot(1:10)+theme(text=element_text(family="Archer"))
Run Code Online (Sandbox Code Playgroud)

otf字体有什么问题吗?

macos fonts r ggplot2 typeface

9
推荐指数
2
解决办法
2993
查看次数