I have created a image plot for this data:
sample
p p.1 p.2 p.3 p.4
p 1.0000000 0.24077171 -0.66666667 -0.49009803 0.61237244
p.1 0.2407717 1.00000000 0.09028939 -0.83444087 0.14744196
p.2 -0.6666667 0.09028939 1.00000000 0.21004201 0.10206207
p.3 -0.4900980 -0.83444087 0.21004201 1.00000000 -0.08574929
p.4 0.6123724 0.14744196 0.10206207 -0.08574929 1.00000000
Using this code:
image.plot(sample,col=redblue(191), zlim=c(-1,1))
I get this image:
Instead of 0.0 0.2 0.4.. on x and y axes, I want p p.1 p.2... How do I get that that? Thank you for your time and consideration?
My heatmap looks like this:
its not symmetric. Can you please fix this? I am using this code:
shades=c(seq(-1,-0.5,length=64), seq(-0.5,0.5, length=64), seq(0.5,1,length=64))
heatmap.2(sample, dendrogram='none', symm=TRUE, Rowv=FALSE, Colv=FALSE, key=TRUE, cexCol=0.7, cexRow=1,scale="row", keysize=1, col=redblue(191), breaks=shades)
To change the axis scales on a plot in base R Language, we can use the xlim() and ylim() functions. The xlim() and ylim() functions are convenience functions that set the limit of the x-axis and y-axis respectively.
You can create custom axes using the axis( ) function. axis(side, at=, labels=, pos=, lty=, col=, las=, tck=, ...) the coordinate at which the axis line is to be drawn. If you are going to create a custom axis, you should suppress the axis automatically generated by your high level plotting function.
Changing axis labels To alter the labels on the axis, add the code +labs(y= "y axis name", x = "x axis name") to your line of basic ggplot code. Note: You can also use +labs(title = "Title") which is equivalent to ggtitle .
Key ggplot2 R functionsp + xlab(“New X axis label”): Change the X axis label. p + ylab(“New Y axis label”): Change the Y axis label. p + labs(x = “New X axis label”, y = “New Y axis label”): Change both x and y axis labels.
Here is a better-ish solution:
par(mar=c(5,4.5,4,7))
image(sample, col=rainbow(25), axes=F) #redblue() doesn't work on my computer.
axis(2)
axis(1, at=seq(0,0.8,0.2), labels=rownames(sample))
image.plot(sample, legend.only=T)
EDIT: Does the plot below look like what you are looking for?
sample = cor(matrix(rnorm(400), nrow=20))
image(cor(matrix(rnorm(400), nrow=20)), axes=F)
mtext(text=c(paste("country",1:21)), side=2, line=0.3, at=seq(0,1,0.05), las=1, cex=0.8)
mtext(text=c(paste("country",1:21)), side=1, line=0.3, at=seq(0,1,0.05), las=2, cex=0.8)
image.plot(sample, legend.only=T)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With