在我的真实研究世界中,在顶部(或顶部和底部)和右侧的y轴显示x轴是很常见的.但是,默认位置是底部的x和ggplot2中左边的y.
继Kohske张贴在这里,使用的命令是:
x <- seq(0, 10, 0.1)
y <- sin(x * pi)
qplot(x, y, geom = "line") +
scale_x_continuous(guide = guide_axis(position = "top")) +
scale_y_continuous(guide = guide_axis(position = "right"))
Run Code Online (Sandbox Code Playgroud)
我在开发模式下尝试了以上命令:
install_packages("devtools")
library(devtools)
dev_mode()
install_github("ggplot2", "kohske", "feature/pguide")
library(ggplot2)
Run Code Online (Sandbox Code Playgroud)
不幸的是,它与最新的plyr软件包不兼容.消息:
The following 'from' values not present in 'x': col, color, pch, cex, lty, lwd, srt, adj, bg, fg, min, max...
Error in plyr:::split_indices(seq_len(nrow(data)), scale_id, n)
Run Code Online (Sandbox Code Playgroud)
Error in continuous_scale(c("x", "xmin", "xmax", "xend", "xintercept"), : …Run Code Online (Sandbox Code Playgroud) 我有一组测井数据.在工业中,有专门的软件来生产典型的钻孔测井图.这是一个简化的:

令人兴奋的事情是:
因为这是一个非常传统的行业,我想用我的软件(我没有专业的东西,作为学生)密切复制这些图的格式.我已经使用ggplot在路径上走了一段路,但我不知道如何做一些事情.为了解决问题,这里有一些示例数据和代码:
log <- structure(list(Depth = c(282.0924, 282.2448, 282.3972, 282.5496,
282.702, 282.8544, 283.0068, 283.1592, 283.3116, 283.464, 283.6164,
283.7688, 283.9212, 284.0736, 284.226, 284.3784, 284.5308, 284.6832,
284.8356, 284.988), FOO = c(4.0054, 4.0054, 4.0054, 4.0691, 4.0691,
4.0691, 4.0674, 4.0247, 4.0247, 4.0247, 4.0362, 4.1059, 4.2019,
4.2019, 4.2019, 4.0601, 4.0601, 4.0601, 4.2025, 4.387), BAR = c(192.126,
190.2222, 188.6759, 188.6759, 188.6759, 189.7761, 189.7761, 189.7761,
189.2443, 187.2355, 184.9368, 182.5421, 181.882, 181.344, 180.9305,
180.9305, 180.9305, 181.5986, 182.4397, 182.8301)), .Names = c("Depth",
"FOO", "BAR"), …Run Code Online (Sandbox Code Playgroud) 对于示例数据集,我按国家/地区创建金字塔图,显示人口中超重男性和女性的级别(%).
library(plotrix)
xy.males.overweight<-c(23.2,33.5,43.6,33.6,43.5,43.5,43.9,33.7,53.9,43.5,43.2,42.8,22.2,51.8,
41.5,31.3,60.7,50.4)
xx.females.overweight<-c(13.2,9.4,13.5,13.5,13.5,23.7,8,3.18,3.9,3.16,23.2,22.5,22,12.7,12.5,
12.3,10,0.8)
agelabels<-c("uk","scotland","france","ireland","germany","sweden","norway",
"iceland","portugal","austria","switzerland","australia","new zealand","dubai","south africa",
"finland","italy","morocco")
par(mar=pyramid.plot(xy.males.overweight,xx.females.overweight,labels=agelabels,
gap=9))
Run Code Online (Sandbox Code Playgroud)
我在这里使用'plotrix'找到了这种方法:https://stats.stackexchange.com/questions/2455/how-to-make-age-pyramid-like-plot-in-r
我希望创建一个稍微更详细的金字塔图,两边都添加一个堆积条形图,显示男性和女性的超重和百分比肥胖(最好是红色/蓝色的不同色调)."肥胖"的示例数据值如下:
xx.females.obese<-c(23.2,33.5,43.6,33.6,43.5,23.5,33.9,33.7,23.9,43.5,18.2,22.8,22.2,31.8,
25.5,25.3,31.7,28.4)
xy.males.obese<-c(13.2,9.4,13.5,13.5,13.5,23.7,8,3.18,3.9,3.16,23.2,22.5,22,12.7,12.5,
12.3,10,0.8)
Run Code Online (Sandbox Code Playgroud)
此外,如果图表上的"年龄"可以更改(到国家/地区),那将有所帮助.
非常感谢您的任何帮助/建议.我愿意在适当时使用plotrix或ggplot2.