Re: [R] smoothScatter function (color density question) and adding a legend

2011-06-13 Thread Mike Marchywka










 Date: Sat, 11 Jun 2011 21:52:21 -0400
 From: ccoll...@purdue.edu
 To: r-help@r-project.org
 Subject: [R] smoothScatter function (color density question) and adding a 
 legend

 Dear R experts,

 I am resending my questions below one more time
 just in case someone out there could help
 but missed my email.

Thanks, I was curious about this and so I installed the geneplot package
and that went fine but I had another issue and need to take care of that.
First, see if ?legend helps at all ( no idea, I have not used this stuff 
much).
Also source code should be available for the pacakge you care about.


On quick read, it sounds like this uses a binning system for colors. If you
want something slightly different and much slower, I have some examples
( IIRC) that calculate densities in R using something similar to electric
field calculation around points, ( again I'm in a hurry and pulling this
from archive so caveat emptor this plot may not correspond exactly to
example script below etc), 


http://98.129.232.232/coloumb1.pdf


mydensity-function(x1,x2)
{

len=length(x1);
z-1:len;
for ( y in 1:len )
{

nx=c(1:(y-1),(y+1):len); 
if ( y==1) {nx=2:len;} 
if (y==len) {nx=1:(len-1); } 
# coloumb is a bit much with overlapping data points, so limite it a bit
z[y]=sum(1.0/(.001*1+(x1[nx]-x1[y])*(x1[nx]-x1[y])+(x2[nx]-x2[y])*(x2[nx]-x2[y])));
 
#for
}
print(max(z));
print(min(z));
z=z-min(z);
z=100*z/max(z);
hist(z);
color=rainbow(100);
#color=heat.colors(10);
tmap=color[floor(z)+1];
scatterplot3d(x1,x2,z,color=tmap);
plot(x2,x1,col=tmap,cex=.5)
#library(VecStatGraphs2D)
#DrawDensityMap(x1,x2,PaintPoint=TRUE)
#color=terrain.colors(26)
#color=heat.colors(26)

}






 I don't think my questions are too hard.

 I am most concerned about the transformation function.
 See below.

 Thanks,
 Clayton

 Hello,

 I have a few questions, regarding the smoothScatter function.


 I have a scatter plot with more than 500,000 data points for
 two samples. So, I am wanting to display the density in colors
 to convince people that my good correlation coefficient is not
 due to an influential point effect and plus, I also want to make
 my scatter plot look pretty. Anyway ...

 I have been able to make the plot, but I have a couple of questions about it.
 I also want to make a legend for it, which I don't know how to do.
 I have only been playing around with R for a few weeks now off and on.
 So, I am definitely a beginner.


 1.
 I have 10 colors for my plot: white representing zero density and dark red 
 representing the maximum density (I presume).
 According to the R documentation, the transformation argument represents the 
 function mapping the density scale to the color scale.
 Note that in my R code below, transformation = function(x) x^0.14.
 I was wondering how exactly or mathematically that this function relates the 
 density to color.
 I believe the colorRampPalette ramps colors between 0 and 1. I am not sure if 
 x represents the color or the
 density. Since I have 10 colors, I suppose the colorRampPalette would assign 
 values of
 0, 0.11, 0.22, 0.33, 0.44, 0.55, 0.66, 0.77, 0.88, and 1 for white to dark 
 red. I am not sure though.
 Does anyone know how this works? I am sure its not too too complicated.


 2.
 In a related issue, I also would like to make a legend for this plot. Then, I 
 would be able to see the transformation
 function's effects on the color-density relationship. Could someone help me 
 in making a legend for my smoothScatter plot? I would like to place it 
 immediately to the right of my plot as a vertical bar, matching the vertical 
 length of the plot as is often convention.

 I really like the smoothScatter function. It is easy to use, and I believe 
 it's relatively new.

 Thanks in advance.

 -Clayton

  clayton - c(white, lightblue, blue, darkgreen, green, yellow, 
  orange, darkorange, red, darkred)
  x - read.table(c:/users/ccolling/log_u1m1.txt, sep =\t)
  smoothScatter(x$V8~x$V7,
 nbin=1000,
 colramp = colorRampPalette(c(clayton)),
 nrpoints=Inf,
 pch=,
 cex=.7,
 transformation = function(x) x^.14,
 col=black,
 main=M1 vs. M3 (r = 0.92),
 xlab=Normalized M1,
 ylab=Normalized M2,
 cex.axis = 1.75,
 cex.lab = 1.25
 cex.main = 2)

 __
 R-help@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.
   
__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


[R] smoothScatter function (color density question) and adding a legend

2011-06-11 Thread Clayton K Collings
Dear R experts,

I am resending my questions below one more time
just in case someone out there could help
but missed my email.

I don't think my questions are too hard.

I am most concerned about the transformation function.
See below.

Thanks,
Clayton

Hello,

I have a few questions, regarding the smoothScatter function.


I have a scatter plot with more than 500,000 data points for
two samples.  So, I am wanting to display the density in colors
to convince people that my good correlation coefficient is not
due to an influential point effect and plus, I also want to make
my scatter plot look pretty.  Anyway ...

I have been able to make the plot, but I have a couple of questions about it.
I also want to make a legend for it, which I don't know how to do.
I have only been playing around with R for a few weeks now off and on.
So, I am definitely a beginner.  


1. 
I have 10 colors for my plot: white representing zero density and dark red 
representing the maximum density (I presume).
According to the R documentation, the transformation argument represents the 
function mapping the density scale to the color scale. 
Note that in my R code below, transformation = function(x) x^0.14. 
I was wondering how exactly or mathematically that this function relates the 
density to color.
I believe the colorRampPalette ramps colors between 0 and 1.  I am not sure if 
x represents the color or the
density.  Since I have 10 colors, I suppose the colorRampPalette would assign 
values of 
0, 0.11, 0.22, 0.33, 0.44, 0.55, 0.66, 0.77, 0.88, and 1 for white to dark red. 
 I am not sure though.
Does anyone know how this works?  I am sure its not too too complicated.


2.
In a related issue, I also would like to make a legend for this plot.  Then, I 
would be able to see the transformation
function's effects on the color-density relationship.  Could someone help me in 
making a legend for my smoothScatter plot?  I would like to place it 
immediately to the right of my plot as a vertical bar, matching the vertical 
length of the plot as is often convention.

I really like the smoothScatter function.  It is easy to use, and I believe 
it's relatively new.

Thanks in advance.

-Clayton

 clayton - c(white, lightblue, blue, darkgreen, green, yellow, 
 orange, darkorange, red, darkred)
 x - read.table(c:/users/ccolling/log_u1m1.txt, sep =\t)
 smoothScatter(x$V8~x$V7,
nbin=1000,
colramp = colorRampPalette(c(clayton)),
nrpoints=Inf,
pch=,
cex=.7, 
transformation = function(x) x^.14,
col=black,
main=M1 vs. M3 (r = 0.92),
xlab=Normalized M1,
ylab=Normalized M2,
cex.axis = 1.75,
cex.lab = 1.25
cex.main = 2)

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.