[R] density plot on a log scale
Jim Lemon
jim at bitwrit.com.au
Thu Jun 14 13:39:36 CEST 2012
On 06/14/2012 07:08 PM, field.cady wrote:
> I'm working with a large dataset - large enough that when I do a scatter plot
> the points all blur together, so I want to plot their density by color - a
> heat map or something like that. I've used smoothScatter for tasks like
> this, but the problem is that my current dataset really only looks good on a
> log-log scale. When I do the following command
>
> smoothScatter(
> data,
> xlim=c(100,100000000),
> ylim=c(100,10000000000),
> log="xy",
> pch="."
> )
>
> the output seems to only show a few of the points, and they are in odd
> places that don't seem to correlate at all with the colors. I got a warning
> that I should increase the gridsize, but even using comically large values
> (nbin=10000) didn't help. Does anybody know how I can do this? Thanks!
>
Hi field.cady,
This is a very rough example (I haven't bothered to do the log
transformation or anything and the matrix is upside down), but it might
get you where you want to go.
x<-runif(1000)
y<-runif(1000)
xydens<-matrix(0,10,10)
xybreaks<-seq(0,1,length.out=11)
for(row in 1:10) {
for(column in 1:10)
xydens[row,column]<-
sum(x>=xybreaks[row] & x < xybreaks[row+1] &
y >= xybreaks[column] & y < xybreaks[column+1])
}
library(plotrix)
color2D.matplot(xydens)
Jim
More information about the R-help
mailing list