相关疑难解决方法(0)

正确扩展ggplot2?

最近出现了ggplot2的一些巧妙用途,并且已发布部分或完整解决方案:

ggheat是值得注意的,因为它只是通过绘制而不是返回一个对象来打破ggplot隐喻.

大括号解决方案值得注意,因为没有一个真正符合ggplot2高级概念(例如,您应该指定一系列您想要打破的点,然后在其他地方能够指定您希望该范围显示的方式 - - 支架,盒子,紫牛等).

GGPLOT2书(我很快就会订购并已阅读2个网络章节)似乎是有关使用语法和功能,而不是写新的或广泛延伸现有的.

我想学习添加一个特定的功能或开发一个新的geom,并正确地做到这一点. ggplot2可能不会像基本图形一样用作通用图形包grid,但是有很多图表只是现有ggplot2 geom的一步或两步扩展.当这些情况出现时,我通常可以将足够的物体放在一起做一次,但如果我需要几十次相同的情节呢?如果其他人喜欢它并且想要使用它会怎么样 - 现在他们每次想要那个图表时都必须通过相同的过程进行处理.这在我看来,正确的解决办法是在加stat_heatplotgeom_heatplot,或者添加geom_Tuftebox塔夫特箱线图,等等.但是我从来没有见过的真正延伸GGPLOT2的例子.只是如何使用它的例子.

有哪些资源可以深入挖掘ggplot2并开始扩展它?我特别感兴趣的是如上所述在轴上指定范围的高级方法,但是关于ggplot2 tick的内容的一般知识也是受欢迎的.

没有一个连贯的指南(很少有足够先进的修补,因此可能不存在),如何去学习内部?检查源显然是一种方式,但开始的功能,等等.

r ggplot2 prototype-programming

38
推荐指数
2
解决办法
3086
查看次数

如何在图表中添加大括号?

我想在R中制作以下图表:

在此输入图像描述

我该如何绘制那些水平括号?

r graph

19
推荐指数
4
解决办法
1万
查看次数

将curly大括号添加到ggplot2然后使用ggsave

所以这与这个问题非常相关,这个答案是一个很好的解决方案.问题是当我尝试使用ggsave导出绘图时,花括号不存在.

例:

library(ggplot2)
library(grid)
library(pBrackets) 

x <- c(runif(10),runif(10)+2)
y <- c(runif(10),runif(10)+2)

the_plot <- qplot(x=x,y=y) +
  scale_x_continuous("",breaks=c(.5,2.5),labels=c("Low types","High types") ) +
  theme(axis.ticks = element_blank(),
        axis.ticks.length = unit(.85, "cm"))
the_plot

grid.locator(unit="native") 
bottom_y <- 284 

grid.brackets(220, bottom_y,   80, bottom_y, lwd=2, col="red")
grid.brackets(600, bottom_y,  440, bottom_y, lwd=2, col="red")

ggsave("test.png",width = 4, height = 2.5)
Run Code Online (Sandbox Code Playgroud)

我没有打开使用RStudio导出按钮,因为它没有正确导出我的主题字体大小等.我还需要比76 dpi更高的分辨率.我需要一个解决方案来添加花括号到ggplot2图形,并能够使用ggsave保存它.

r save curly-braces ggplot2

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

我如何强制ggplot的geom_tile填充每个方面?

我正在使用ggplot的geom_tile做一个因子面对的2-D密度图.每个方面的比例从所有数据的最小值到所有数据的最大值,但每个方面中的geom_tile仅扩展到该方面中绘制的数据范围.

演示此问题的示例代码:

library(ggplot2)

data.unlimited <- data.frame(x=rnorm(500), y=rnorm(500))
data.limited <- subset(data.frame(x=rnorm(500), y=rnorm(500)), x<1 & y<1 & x>-1 & y>-1)

mydata <- rbind(data.frame(groupvar="unlimited", data.unlimited),
                data.frame(groupvar="limited", data.limited))

ggplot(mydata) +
  aes(x=x,y=y) +
  stat_density2d(geom="tile", aes(fill = ..density..), contour = FALSE) +
  facet_wrap(~ groupvar)
Run Code Online (Sandbox Code Playgroud)

面

运行代码,您将看到两个方面.一个方面显示"无限"随机正态分布的密度图.第二个方面显示一个随机法线截断,位于原点周围的2x2方格内."有限"刻面中的几何体将被限制在这个小盒子内,而不是填充刻面.

last_plot() +
  scale_x_continuous(limits=c(-5,5)) + 
  scale_y_continuous(limits=c(-5,5))
Run Code Online (Sandbox Code Playgroud)

指定的限制

最后三行绘制了具有指定x和y限制的相同数据,并且我们看到在这种情况下,两个facet都没有将tile部分扩展到边缘.

有没有办法强制每个方面的geom_tile延伸到facet的整个范围?

r ggplot2

7
推荐指数
1
解决办法
4150
查看次数

在GGPLOT2中为Barplot添加唯一趋势线

这部分与我昨天的问题有关.

所以这里是数据和ggplot2中创建的图.

df = data.frame(date=c(rep(2008:2013, by=1)),
                value=c(303,407,538,696,881,1094))


ggplot(df, aes(date, value, width=0.64)) + 
        geom_bar(stat = "identity", fill="#336699", colour="black") +
        ylim(c(0,1400)) + opts(title="U.S. Smartphone Users") +
        opts(axis.text.y=theme_text(family="sans", face="bold")) +
        opts(axis.text.x=theme_text(family="sans", face="bold")) +
        opts(plot.title = theme_text(size=14, face="bold")) +
        xlab("Year") + ylab("Users (in millions)") +        
        opts(axis.title.x=theme_text(family="sans")) +
        opts(axis.title.y=theme_text(family="sans", angle=90)) +
        geom_segment(aes(x=2007.6, xend=2013, y=550, yend=1350), arrow=arrow(length=unit(0.4,"cm")))
Run Code Online (Sandbox Code Playgroud)

是否可以使用ggplot2在下图中生成squigly趋势线

我在R中创建了绘图,然后在Adobe Photoshop中对其进行了修饰,我想知道是否可以在R中直接生成那条波浪形的趋势线.

如果在ggplot2中无法做到这一点,是否有任何特定的R包可以接受此任务?

我不是要求重现图表.那不是问题.只是产生趋势线似乎是一个问题.

在此输入图像描述

r ggplot2

5
推荐指数
1
解决办法
5035
查看次数

绘制轴区域的花括号

我想用大括号标记轴上的一个区域.可以在R中这样做吗?

plot r

-6
推荐指数
1
解决办法
2059
查看次数

标签 统计

r ×6

ggplot2 ×4

curly-braces ×1

graph ×1

plot ×1

prototype-programming ×1

save ×1