小编hrb*_*str的帖子

不要在 2 图例图 (R ggplot2) 中的颜色图例中显示形状

在我有 2 个图例(一个用于形状,一个用于颜色)的情节中,我的老板发现颜色图例已经选择了其中一种形状令人困惑。一个例子:

a <- data.frame(name = c("A","B","C","D"),
                type = c("dog","dog", "cat", "cat"),
                location = c("house", "house", "house", "garden"),
                count = c(3,1,5,8))

ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
  geom_point(size=7)
Run Code Online (Sandbox Code Playgroud)

产生以下内容: 在此处输入图片说明

在此示例中,“位置”图例通过显示彩色圆圈来解释颜色(但圆圈也表示猫,这显然令人困惑)。如何强制“位置”图例仅显示颜色,而不是形状?也许将位置显示为红色和蓝色矩形会比较理想。

r colors legend shapes ggplot2

3
推荐指数
1
解决办法
3381
查看次数

如何使矩阵可调用函数的元素

我想制作一个函数矩阵(我写的).然后以元素方式访问它们并调用.

所以,我有:func1(x),func2(y),func3(z)func4(t)那四个R的功能和我写的工作fine.They返回NUMERICS.

如果我这样做:

a_matrix <- matrix(c(a=func1,b=func2,c=func3,d=func4),2,2)
a_func<-a_matrix[1,1]
a_func(x)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

error:attempt to call non-function.
Run Code Online (Sandbox Code Playgroud)

如果我使用列表,而不是矩阵,

a_list<-list(a=func1,b=func2,c=func3,d=func4)
a_func<-list$a
a_func(x)
Run Code Online (Sandbox Code Playgroud)

给出预期的结果

typeof(list$a)
[1] "closure" 
Run Code Online (Sandbox Code Playgroud)

如果我做 :

typeof(a_matrix)
[1] "list"
typeof(a_matrix[1,1])
[1] "list"
Run Code Online (Sandbox Code Playgroud)

(我正在使用R 3.1.1)

r matrix

3
推荐指数
1
解决办法
67
查看次数

ggplot2 如何使轴线在最后一个刻度处结束

我不希望轴线在原点相交,我还希望轴线从第一个刻度开始并在最后一个刻度处结束。怎么做?

r ggplot2

3
推荐指数
1
解决办法
3425
查看次数

使用最小值和最大值的置信区间

无论如何,使用ggplot2可以使用围绕geom_line图中平均值的最小值和最大值生成置信带或类似置信带的东西吗?

数据:

Year   Value   Group
50      0.25    Avg
100     0.30    Avg
200     0.27    Avg
250     0.26    Avg
500     0.22    Avg
1000    0.24    Avg
5000    0.27    Avg
10000   0.23    Avg
50      0.24    Max
100     0.29    Max
200     0.24    Max
250     0.23    Max
500     0.20    Max
1000    0.22    Max
5000    0.22    Max
10000   0.20    Max
50      0.28    Min
100     0.33    Min
200     0.31    Min
250     0.30    Min
500     0.27    Min
1000    0.26    Min
5000    0.32    Min
10000   0.33    Min
Run Code Online (Sandbox Code Playgroud)

目前的情节如下: …

r ggplot2

3
推荐指数
1
解决办法
540
查看次数

显示ggplot2正在使用的颜色的十六进制代码

如何查看ggplot2使用给定调色板的离散类别使用的颜色,如啤酒机的“ Set1”或“ Set2”?即对于给定的类别集,将使用什么颜色?

r ggplot2 colorbrewer

3
推荐指数
1
解决办法
960
查看次数

使用ggplot2平滑可变线条边框边框

我正在制作一个线图,其中线条粗细被映射到第三个连续变量.但是,当将变量映射到size参数时geom_line,得到的图会产生一个断开的外观线的"粗略"图.有没有办法可以平滑地混合这些线条,以便线段之间没有明显的间隙?

我在下面制作了一个可重现的例子.

data(mtcars)
require(ggplot2)
mtcars$am<-factor(mtcars$am)
ggplot(data=mtcars,aes(x=mpg,y=hp))+geom_line(aes(color=am,size=disp))
Run Code Online (Sandbox Code Playgroud)

产生以下情节: 在此输入图像描述

例如,我想将am = 0的第一个线段的边界与第二个线段的边界混合.

谢谢您的帮助.

r ggplot2

3
推荐指数
1
解决办法
671
查看次数

ggplot2&facet_wrap - 消除小平面之间的垂直距离

我正在处理一些我希望显示为nxn网格图的数据.编辑:更清楚的是,我的数据中有21个类别.我希望按类别划分,并将这21个图形放在一个5 x 5平方网格中(其中孤儿本身位于第五行).因此facet_wrap而不是facet_grid.

我已经编写了以下代码(使用旧的虹膜数据集作为我可重现的示例):

library(ggplot2)
library(grid)

cust_theme <- theme_bw() + theme(legend.position="none", 
              axis.title = element_blank(), axis.ticks = element_blank(), 
              axis.text = element_blank(), strip.text = element_blank(), 
              strip.background = element_blank(), panel.margin = unit(0, "lines"), 
              panel.border = element_rect(size = 0.25, color = "black"), 
              panel.grid = element_blank())

iris.plot <- ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
             geom_point() + cust_theme + facet_wrap( ~ Species, ncol = 2) + 
             labs(title = "Irises by species")
Run Code Online (Sandbox Code Playgroud)

这给了我几乎我想要的东西,但并不完全:

每个代码的虹膜数据集的图.

我在最上面一排的地块和底行之间仍然留有一小块空间.我想完全摆脱它,但panel.margin显然没有这样做.有没有办法做到这一点?

plot r ggplot2

3
推荐指数
3
解决办法
5029
查看次数

与ggplot的调色板

为了生成可复制的示例,我将不得不提交shapefile数据等,这对您来说很麻烦(下载数据等),所以这里只是提供最后一部分而且是关于 ggplot

这是示例代码:

cols <- colorRampPalette(c("darkgreen","yellow","red"), space = "rgb")
myPal <- cols(11) 

ggplot(data=df, aes(x=long, y=lat, group=group)) + 
   geom_polygon(aes(fill = measure))+    # draw polygons
   coord_equal() +
   scale_x_continuous(breaks = as.numeric(levels(factor(df$measure))))+
   scale_fill_manual(values = myPal)+
   labs(title="mesure level", x="", y="")+
   theme(axis.text=element_blank(),axis.ticks=element_blank())
Run Code Online (Sandbox Code Playgroud)

基本上,我试图通过定义颜色范围来应用我自己的颜色来填充区域.以上不起作用,因为它产生错误:

Error: Continuous value supplied to discrete scale
Run Code Online (Sandbox Code Playgroud)

编辑:但是这有效:

ggplot(data=df, aes(x=long, y=lat, group=group)) + 
  geom_polygon(aes(fill = measure))+    # draw polygons
  coord_equal() +
  geom_path(color="grey", linestyle=2)+
  scale_fill_gradient(low = "#ffffcc", high = "#ff4444", 
                  space = "Lab", na.value = "grey50",
                  guide = "colourbar")+
  labs(title="measure level", x="", y="")+
  theme(axis.text=element_blank(),axis.ticks=element_blank()) …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2

3
推荐指数
1
解决办法
2940
查看次数

使用 geom_point 在 R 中绘制人口密度图

我正在研究加拿大的简单人口密度图。我已经根据邮政编码和经/纬度人口数据在这里

我想改进绘图以显示随着点密度增加的颜色变化。这是我的代码:

library(maptools)
library(gdata)
library(RColorBrewer)
library(classInt)
library(maps)
library(ggplot2)
library(ggmap)

Canada <- get_map(location="Canada", zoom=3, maptype="terrain")

ggmap(Canada, extent="normal") + geom_point(data=PopDensity, aes(x=LONG,y=LAT,size=POPULATION), 
alpha = 0.3)+scale_size_continuous(range=c(1,6))
Run Code Online (Sandbox Code Playgroud)

这产生了一个像

所以。

我真正想要的是一种使数据点保持相同大小的方法,但不是使点透明,而是根据点密度改变颜色。

plot r ggplot2

3
推荐指数
1
解决办法
7705
查看次数

在rmarkdown/knitr中的一个块之前和之后插入html代码

我在rmarkdown文档中创建了一些R练习,但我不希望显示答案,除非用户点击按钮.

我设法使用以下代码执行此操作:

---
title: "Aula 01 - Exercícios"
date : 2016-01-18
layout: post
comments: true
tags: exercicio
category: exercicio
---

<script>
  var toggle = function(i) {
  var mydiv = document.getElementById('q' + i);
  if (mydiv.style.display === 'block' || mydiv.style.display === '')
    mydiv.style.display = 'none';
  else
    mydiv.style.display = 'block'
  }
</script>



1) Calcule o número de ouro no R.

$$ \frac{1 + \sqrt{5}}{2} $$

<div id="q1"  style="display:none;" >
```{r}
(1 + sqrt(5))/2
```
</div>

<button type = "button" onclick="toggle(1);" class = "btn …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown

3
推荐指数
1
解决办法
3346
查看次数

标签 统计

r ×10

ggplot2 ×8

plot ×3

colorbrewer ×1

colors ×1

knitr ×1

legend ×1

matrix ×1

r-markdown ×1

shapes ×1