Here is some basic code that will plot error bars for both the 'x' (orthogonal to radius) and 'y' (parallel to radius) dimensions, and a point for the center value. It does not use the plotrix
package for the error bar plotting, but instead uses R
base graphics. You must provide the errors for the dimensions or comment out the part of the code that plots undesired errors. There are several graphical parameters for line weight, color, point color, and point shape. A sample graph is provided below.
library(plotrix)
set.seed(10) # seed for reproducable graph
ppp <- matrix(runif(1:16, 10, 60), nrow=2, ncol=8)
kl <- c(0, pi/4, pi/2, pi*0.75,pi, pi+pi/4,pi+pi/2, pi+pi*0.75)
start <- pi/2 # know starting value for plotting points angularl
rad_low_lim <- -10 # used when computing values of the error lines and in plot limits
plot_rt_soa7 <- radial.plot(ppp,rp.type="p"
,radial.pos=kl
,label.pos=kl
,start=start
,labels=1:8
,radial.lim=c(rad_low_lim,65)
,main="SOA 7")
legend(40,120,c("T-oben", "T-unten"),col=1:2,lty=1)
# generating random error values for both x and y
error_ppp_y <- matrix(rnorm(16, 15, 5), nrow=2, ncol=8)
error_ppp_x <- matrix(rnorm(16, 10, 3), nrow=2, ncol=8)
bar_cols <- c('blue','green') # colors for bars
lwds <- c(4,2) # line weights for bars
pts_cols <- c('black','red') # colors for points
pts_pch <- c(19,17) # point pch
# loop over the number of rows (T-oben and T-unten)
for(j in 1:2){
# loop over the observations
for(i in 1:ncol(ppp)){
# plotting the errors of the 'y' value
# center value is determined and errors are rotated to make
# parallel to the radius
lines(c(ppp[j,i]+error_ppp_y[j,i]-rad_low_lim,ppp[j,i]-error_ppp_y[j,i]-rad_low_lim)*cos(kl[i]+start)
,c(ppp[j,i]+error_ppp_y[j,i]-rad_low_lim,ppp[j,i]-error_ppp_y[j,i]-rad_low_lim)*sin(kl[i]+start)
,lwd=lwds[j]
,col=bar_cols[j]
)
# plotting the 'x' errors that are orthognal to the radius
# points are the "center" with the error values rotated to make them orthognal to the radius
# comment out if not desired
lines((ppp[j,i]-rad_low_lim)*cos(kl[i]+start)+c(error_ppp_x[j,i],-error_ppp_x[j,i])*cos(kl[i])
,(ppp[j,i]-rad_low_lim)*sin(kl[i]+start)+c(error_ppp_x[j,i],-error_ppp_x[j,i])*sin(kl[i])
,lwd=lwds[j]
,col=bar_cols[j]
)
# plotting points for the center
# comment out if not desired
points((ppp[j,i]-rad_low_lim)*cos(kl[i]+start)
,(ppp[j,i]-rad_low_lim)*sin(kl[i]+start)
,col=pts_cols[j]
,pch=pts_pch[j]
)
}
}
