如何使用ggplot2生成NP图表?
我做了简单的Rscript,生成条形图,点图表。我通过csv文件提供数据。我需要指定多少列,在gplot函数中需要传递哪些参数?
我是R,ggplots的新手。
编辑: This是NP图表的含义。
当前代码尝试:
#load library ggplot2
library(ggplot2)
#get arguments
args <- commandArgs(TRUE)
pdfname <- args[1]
graphtype <- args[2]
datafile <- args[3]
#read csv file
tasks <- read.csv(datafile , header = T)
#name the pdf from passed arg 1
pdf(pdfname)
#main magic that generates the graph
qplot(x,y, data=tasks, geom = graphtype)
#clean up
dev.off()
在.csv文件中有2列x,我按Rscript cne.R 11_16.pdf "point" "data.csv"
调用此脚本。
非常感谢@ mathematical.coffee这是我需要的东西 1 GT;我正在从包含以下数据的csv文件中读取数据
这是我的数据 月,率 “简”, “37.50” “二月”, “32.94” “月”, “25.00” “四月”, “33.33” “五一”, “33.08” “君”, “29.09” “七月”, “12.00” “月”, “10.00” “月”, “6.00” “十月”, “23.00” “月”, “9.00” “DEC”, “14.00”
2 - ;我想在每个绘图点上显示值。并且还显示UCL,Cl,LCL的值,并为x和y赋予不同的标签。
当我读取数据时问题与csv文件中的顺序不同。如何解决?
答案 0 :(得分:2)
您将ggplot(tasks,aes(x=x,y=y))
与geom_line
和geom_point
合并,以获得由点连接的线条。
如果您还想要绘制UCL / LCL /等,则添加geom_hline
(水平线)。
要向这些行添加文字,您可以使用geom_text
。
一个例子:
library(ggplot2)
# generate some data to use, say monthly up to a year from today.
n <- 12
tasks <- data.frame(
x = seq(Sys.Date(),by="month",length=n),
y = runif(n) )
CL = median(tasks$y) # substitue however you calculate CL here
LCL = quantile(tasks$y,.25) # substitue however you calculate LCL here
UCL = quantile(tasks$y,.75) # substitue however you calculate UCL here
limits = c(UCL,CL,LCL)
lbls = c('UCL','CL','LCL')
p <- ggplot(tasks,aes(x=x,y=y)) + # store x/y values
geom_line() + # add line
geom_point(aes(colour=(y>LCL&y<UCL))) + # add points, colour if outside limits
opts(legend.position='none', # remove legend for colours
axis.text.x=theme_text(angle=90)) # rotate x axis labels
# Now add in the limits.
# horizontal lines + dashed for upper/lower and solid for the CL
p <- p + geom_hline(aes(yintercept=limits,linetype=lbls)) + # draw lines
geom_text(aes(y=limits,x=tasks$x[n],label=lbls,vjust=-0.2,cex=.8)) # draw text
# display
print(p)
给出: