How to show the color bar legend in R?
Thank you for your email Zack. When I run the code that you provided, it gives me this error:
Error in if (axes) { : argument is not interpretable as logicalIn addition: Warning message:In if (axes) { :? the condition has length > 1 and only the first element will be used
It seems there is a problem with my R !
On Monday, January 26, 2015 11:02 AM, Zack Holden <zaholdenfs at gmail.com> wrote:
Hi Ferra,Without reproducible code, it's difficult to help. You might have a look at image.plot() in the fields library, and image() I'm not sure if this is exactly what you're looking for, but here is a quick example of one way to control the image and legend in a plot, using the layout command. You can create a small panel below your main plot and then add your legend there with more control.? I hope this is helpful.? ############################################ example code for image plot of volcano datarequire(fields)require(raster) dat <- raster(volcano) zc <- as.matrix(seq(minValue(dat), maxValue(dat), length.out=100)) mycolor1 <- two.colors(n=100, start="darkblue", end="red", middle="yellow1", alpha=.9) layout(matrix(c(1,2), 2, 1, byrow = TRUE), heights=c(4,1), widths=c(4) )layout.show(2)image(dat, axes=F, col=mycolor1, xlab="", ylab="") par(mar=c(2,4,.1,2))image(zc, col=mycolor1, axes=F, xlab="", ylab="" ) axis(1, at=seq(0,1, length.out=5), ?labels=round(seq(minValue(dat), maxValue(dat),length.out=5), digits=0), las=1, ?tcl=-.15, padj=-1, cex=1.5) # every .1 corr# end code#############################################
On Mon, Jan 26, 2015 at 10:36 AM, Ferra Xu via R-sig-Geo <r-sig-geo at r-project.org> wrote:
I am still struggling with this question. I appreciate any help from you!
? ? ?On Friday, January 23, 2015 11:00 AM, Ferra Xu <ferra.xu at yahoo.com> wrote:
?Based on the dataset, I computed a 3D kernel (longitude, latitude, depth) and displayed the magnitude with the sphere radius and time with color as follows. I am wondering how I can show the color bar legend.?
Also I have problem with the scale of the graph. I need to see if the balls touch or overlap each other from the graph but since the scales are not real I cannot recognize it. How can I correct it??
library(ks)?
x <- read.csv("HK1.csv")?
y <- x[,1:3]?
fhat1 <- kde(x=y)?
n <- nrow(x)?
col <- grey((n:1)/n)?
plot(fhat1, xlim=c(0,500), ylim=c(0,250), zlim=c(0, 4.4))?
spheres3d(y, radius=15*(x$magnitude), alpha=1, col= col)?
I tried this code (which didn't work):?
legend_image <- as.raster(matrix(grey((n:1)/n), ncol=1))?
plot(c(0,2),c(0,200),type = 'n', axes = F, xlab = '', ylab = '', main = ?'time scale')?
text(x=1.5, y = seq(0,200,l=5), labels = seq(0,200,l=5))?
rasterImage(legend_image, 0, 0, 1, 1)?
And this one in "plotrix" package:?
testcol<- col?
col.labels<- seq(0,200, l=5)?
color.legend(600, 0, 601,200,col.labels,testcol,gradient="y")?
But it gives me this error:?
Error in rect(xleft, ybottoms, xright, ytops, col = col, lty = 0) :?
plot.new has not been called yet?
Also I used legend() in Graphics library:?
legend("right", legend=seq(0,200,l=20), fill= colfunc(20), title="Time Scale")?
But it gives me the legend in a separate window.?Here is my data:?
?longitude ? ? ? ? latitude ? ? ? ?depth ? ? ? ? ? ? time ? ? ? ? ?magnitude?
422.697323 ?164.19886 ? 2.457419 ? ?8.083796636 ?0.83367586?
423.008236 ?163.32434 ? 0.5551326 ? 37.58477455 ?0.893893903?
204.733908 ?218.36365 ? 1.9397874 ? 37.88324312 ?0.912809449?
203.963056 ?218.4808 ? ?0.3723791 ? 43.21775903 ?0.926406005?
100.727581 ?46.60876 ? ?1.4022341 ? 49.41510519 ?0.782807523?
453.335182 ?244.25521 ? 1.6292517 ? 51.73779175 ?0.903910803?
134.909462 ?210.96333 ? 2.2389119 ? 53.13433521 ?0.896529401?
135.300562 ?212.02055 ? 0.6739541 ? 67.55073745 ?0.748783521?
258.237117 ?134.29735 ? 2.1205291 ? 76.34032587 ?0.735699304?
341.305271 ?149.26953 ? 3.718958 ? ?94.33975483 ?0.849509216?
307.138925 ?59.60571 ? ?0.6311074 ? 106.9636715 ?0.987923188?
307.76875 ? 58.91453 ? ?2.6496741 ? 113.8515307 ?0.802115718?
415.025535 ?217.17398 ? 1.7155688 ? 115.7464603 ?0.875580325?
? ? ? ? [[alternative HTML version deleted]]
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo at r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo