R 在ggplot2中适当大小的坐标点

R 在ggplot2中适当大小的坐标点,r,ggplot2,R,Ggplot2,我从这个文件中的数据中采集了10000个坐标。我有大约13万分 我正在尝试使用ggplot2在美洲地图上绘制这些点。这是我的密码 library(ggplot2) library(maps) map_world <- map_data("world") map_world <- subset(map_world, (lat >= -60 & lat <= 75)) map_world <- subset(map_world, (long >= -17

我从这个文件中的数据中采集了10000个坐标。我有大约13万分

我正在尝试使用ggplot2在美洲地图上绘制这些点。这是我的密码

library(ggplot2)
library(maps)

map_world <- map_data("world")
map_world <- subset(map_world, (lat >= -60 & lat <= 75))
map_world <- subset(map_world, (long >= -170 & long <= -30))

p <- ggplot(data = data_coords, legend = FALSE) +
geom_polygon(data = map_world, aes(x = long, y = lat, group = group)) +
geom_point(aes(x = lon, y = lat), shape = 19, size = 0.00001,
           alpha = 0.3, colour = "red") +
theme(panel.grid.major = element_blank()) +
theme(panel.grid.minor = element_blank()) +
theme(axis.text.x = element_blank(),axis.text.y = element_blank()) +
theme(axis.ticks = element_blank()) +
xlab("") + ylab("")

png("my_plot.png", width = 8000, height = 7000, res = 1000)
print(p)
dev.off()
这些点似乎覆盖了绘制它们的整个区域。我希望它们更小,更好地代表一个位置。您可以看到,我已将大小设置为0.00001。我只是想看看它是否有任何影响,但它似乎没有帮助后,一定的限制。这是本决议中可能达到的最佳水平,还是可以进一步降低

实际上,我已经绘制了大约400000个点,但之前仅在美国地图上绘制过,它们看起来更像下图。希望得到这样的东西。谢谢


尝试使用非常小的alpha值,而不是点大小:

结果图像不是使用的最佳调色板:


我已经在使用alpha了。较大的点大小(即使带有alpha)显示的覆盖范围并不代表地图上单个坐标的覆盖范围。因此我需要减少点的大小。如果你将alpha减少到10倍小的数字会发生什么?谢谢你的详细解决方案。如果点大小不起作用,我将不得不绘制密度图。但我想知道的是,在某种分辨率下,一个点的大小是否有限制。我的绘图有8000 X 7000像素。我应该能够将一个点表示为一个像素或更大一点。我怎样才能达到这个规模?你们有什么新发现吗?我还没来得及深入了解像素细节的故事。。。
# Varying alpha is useful for large datasets
d <- ggplot(diamonds, aes(carat, price))
d + geom_point(alpha = 1/1000)
library(ggplot2)
library(maps)

data_coords <- read.csv("C:/Downloads/data.csv")

map_world <- map_data("world")
map_world <- subset(map_world, (lat >= -60 & lat <= 75))
map_world <- subset(map_world, (long >= -170 & long <= -30))

p <- ggplot(     data = data_coords, legend = FALSE) +
 geom_polygon(   data = map_world, aes(x = long, y = lat, group = group)) +
 stat_density2d( data = data_coords, aes(x=lon, y=lat, fill = as.factor(..level..)), size=1, bins=10, geom='polygon') +
 scale_fill_manual(values = c("yellow","red","green","royalblue", "black","white","orange","brown","grey"))

png("my_plot2k.png", width = 2000, height = 2000, res = 500)
print(p)
dev.off()