What can I do to improve this plot to get a better idea of what the correlation is like in my data? In R I've typed the following code to get my scatterplots but the plots are all very bunched up:

par(mfrow=c(1,2),mai=c(0.8,0.8,2,0.8));

plot(x,y,"",cex.lab=0.5,cex.axis=0.5)

plot(log(x),y,cex.lab=0.5,cex.axis=0.5,)

How can I modify my code to get better scatterplots?
 A: The hexbin package: my quick and painless go-to for visualizing overplotted data sets.
library(hexbin)

set.seed(4321)
x.axis <- c(rnorm(2000), rnorm(2000, 4, 2))
y.axis <- c(rnorm(2000), rnorm(2000, 2, 3))
point.map <- cbind(x.axis, y.axis)

# Square plot region
par(pty = "s")

# Standard R plot
plot(point.map)


# Convert coordinate data into a hexbin object
point.map.hex <- hexbin(point.map)

# Plot hexbin object with perceptually linear color ramp
plot(point.map.hex, colramp = heat.ob)


A: Often when there is a lot of data scatterplots simply look too bunched up like this. I would recommend another visualization, perhaps overlaid histograms or overlaid density plots. 
To make the overlaid histograms you could use
hist(x)
hist(y, add=T)

and the overlaid density plots could be made using the "sm" package. 
A: One way to better visualize bivariate relationships is shown below. I will use iris data an example
 
# install.packages("PerformanceAnalytics")
library("PerformanceAnalytics")
my_data <- iris[, c(1,3,4)] # note 1,3,4 refer to variables in your dataset
chart.Correlation(my_data, histogram=TRUE, pch=19)

As depicted on the plot: 
On the lower triangle, you see bivariate plots with a smoothing line. 
On the upper triangle, you can see the actual correlations and the extent to which they are statistically significant (* p<.05; ** p<.01; *** p<.001 *) 
You do not necessarily need histograms, so you could set 
histogram=FALSE if you like 
