我希望为海岸的一个相对较小的区域创建一张地图(在lon和lat延伸中约3度).是否有人知道R的现成数据的分辨率高于mapdata包中高分辨率数据的分辨率?或者是否有人知道导入此数据的来源和方法?
我在同一页面中使用了很多控制器,因此代码更清晰,为每个控制器添加了一个别名.但是,当我使用别名时,我无法访问属性和函数.
有什么区别请.
这是我的工作示例:
library(ggplot2)
library(directlabels) # ver 2014.6.13 via r-forge
DF <- expand.grid(z = seq(1, 3001, by=10), k = seq(from=0.5, to=5, by=0.25))
# Defines the function value for each z-k combination
DF$dT <- with(DF, -0.07 * z * (1/2.75 - 1/k))
p <- ggplot(DF, aes(x = z, y = k, z = dT)) + theme_bw() +
stat_contour(aes(colour=..level..), breaks=c(seq(from=-40, to=0, by=5), c(seq(from=5, to=150, by=10))))
angled.boxes <- list("far.from.others.borders","calc.boxes","enlarge.box","draw.rects")
direct.label(p, "angled.boxes")
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

我想将标签的框边框颜色变为"白色",但我看不出怎么做.在包的新闻中,写道:
2.5 --- 2012年4月6日
draw.rects具有可配置的颜色,默认为黑色.
并且看作"angled.boxes"的列表包括:
angled.boxes <- list("far.from.others.borders","calc.boxes","enlarge.box","draw.rects")
Run Code Online (Sandbox Code Playgroud)
我想这是可能的,但是怎么样?
假设我有一个 ggplot 对象:
library("ggplot2")
library("grid")
p <- qplot(0:10,0:10)
Run Code Online (Sandbox Code Playgroud)
还有一些带框的网格页面:
grid.newpage()
vp <- viewport(width = unit(210, "mm"), height = unit(297, "mm"))
pushViewport(vp)
# Inner box:
box <- viewport(unit(105,"mm"),unit(150,"mm"),width=unit(150,"mm"),height=unit(150,"mm"))
pushViewport(box)
grid.rect()
Run Code Online (Sandbox Code Playgroud)
我可以按如下方式拟合情节:
# Print ggplot plot:
upViewport()
print(p ,vp = box)
Run Code Online (Sandbox Code Playgroud)
但我想在这个页面内完成绘图,以便绘图区域(不是边距)完全填充这个框,并且图例、轴标签等在绘图之外“溢出”。有没有办法做到这一点?
我正在尝试使用ggplot2在直方图底部的一些线段,覆盖几个线段以指示分布的相关部分.我希望绿色部分的厚度是灰色部分的两倍,但绿色部分似乎总是灰色部分厚度的五倍.这是一些玩具数据和我的ggplot2代码:
library(ggplot2)
x<- as.data.frame(rnorm(1000, mean=50))
colnames(x) <- c("values")
ggplot(x, aes(x=values)) +
geom_histogram (binwidth=1,position="identity", col="black")+
theme_classic(base_size=18)+
theme(axis.line.x = element_line(colour = "black"),
axis.line.y = element_line(colour = "black"))+
geom_segment(aes(y=-10, yend=-10, col=I("darkgray"), size=.1,x=1, xend=100),show.legend=F)+
geom_segment(aes(y=-10, yend=-10, col=I("palegreen4"), size=.2,x=25,xend=75), show.legend=F)
Run Code Online (Sandbox Code Playgroud)
我注意到boxplot的中位数(使用受限制的ylim参数构建)可能与中位数() - 函数或没有调整y轴的boxplot获得的中位数不同.
是否意味着箱图仅用于计算位于y轴定义区间内的值?如果是这样,我怎么能得到正确的箱形图(基于所有值),但是在y.axis的特定间隔上绘制它?
非常感谢你.
我试图将我的直接标签稍微向左移动,不是一组而是所有组。默认情况下 dl.move 一次只移动一组。
library(directlabels)
library(ggplot2)
count <- c(1,5,6,7,8,8)
year <- c(rep(c(2000,2001,2002),2))
group <- c(rep("A",3),rep("B",3))
c <- data.frame(year,count,group)
p <- ggplot(c, aes(x=year, y=count, colour=group)) + geom_line()
direct.label(p, "first.points")
Run Code Online (Sandbox Code Playgroud)
我可以移动一点...
kif <- dl.move("A", hjust=2, vjust=0)
direct.label(p, list("first.points",kif))
Run Code Online (Sandbox Code Playgroud)
但理想情况下,我只想以相同的方式将整个事情移到 a 上。我完全错过了一些愚蠢的语法吗?
我想使用facet_wrap生成一个绘图,该绘图对于每个包裹的行具有不同的y比例.换句话说,在同一行上使用固定比例,不同行上的自由比例,具有固定的x比例.自由秤不能完全满足我的要求,也不能提供facet_grid.如果可能的话,我想避免创建两个单独的图,然后将它们粘贴在一起.我正在寻找类似下图的结果,但第一行的最大刻度为300,第二行的最大刻度为50.谢谢你的帮助!
这是我的代码:
library(ggplot2)
library(reshape)
# set up data frame
dat <- data.frame(jack = c(150,160,170),
surgeon = c(155,265,175),
snapper = c(10,15,12),
grouper = c(5,12,50))
dat$island<-c("Oahu","Hawaii","Maui")
df<-melt(dat)
# plot
ggplot(df, aes(fill=variable, y=value, x=island)) +
geom_bar(width = 0.85, position= position_dodge(width=0.5),stat="identity", colour="black") +
facet_wrap(~variable, scales = "free_y",ncol=2) +
theme_bw() +
theme(strip.text = element_text(size=15, face="bold"))+
theme(legend.position="none")+
theme(panel.grid.major = element_line(colour = "white", size = 0.2))+
theme(panel.grid.minor = element_line(colour = "white", size = 0.5))+
theme(axis.text.x = element_text(angle = 90, hjust =1, vjust =0.5, size=18))+
labs(y = expression(paste("Yearly …Run Code Online (Sandbox Code Playgroud) 对于出版物,我需要在现有图中添加第二个y轴.我遇到过如何做到这一点的方法(https://rpubs.com/kohske/dual_axis_in_ggplot2).但是,我并不太了解编码.我找不到一种方法来使它成为正确的y轴也显示,而不是顶部边框.我的编码中缺少什么?这是我的虚拟数据:
df1 <- structure(list(month = structure(1:12, .Label = c("Apr", "Aug",
"Dec", "Feb", "Jan", "Jul", "Jun", "Mar", "May", "Nov", "Oct",
"Sep"), class = "factor"), RI = c(0.52, 0.115, 0.636666666666667,
0.807, 0.66625, 0.34, 0.143333333333333, 0.58375, 0.173333333333333,
0.5, 0.13, 0), sd = c(0.327566787083184, 0.162634559672906, 0.299555225848813,
0.172887246493199, 0.293010848165827, 0.480832611206852, 0.222785397486759,
0.381610777775321, 0.219393102292058, 0.3, 0.183847763108502,
0)), .Names = c("month", "RI", "sd"), class = "data.frame", row.names = c(NA,
-12L))
df2<-structure(list(month = structure(c(5L, 4L, 8L, 1L, 9L, 7L, 6L,
2L, 12L, 11L, 10L, 3L), .Label …Run Code Online (Sandbox Code Playgroud)