相关疑难解决方法(0)

使用ggplot2在地图上绘制条形图?

我想使用ggplot2为地图上的每个位置生成一个条形图,就像xingmowang使用基本图形和许多包一样:

http://nzprimarysectortrade.wordpress.com/2011/10/02/let-r-fly-visualizing-export-data-using-r/

在此输入图像描述

这与在图中嵌入微型图有关.

目前,我能做的最好的事情是在抖动的点图中将值与点大小匹配:

require(ggplot2)
require(maps)

#Get world map info
world_map <- map_data("world")

#Creat a base plot
p <- ggplot() + coord_fixed()

#Add map to base plot
base_world <- p + geom_polygon(data=world_map,
                               aes(x=long,
                                   y=lat,
                                   group=group))


#Create example data
geo_data <- data.frame(long=c(20,20,100,100,20,20,100,100),
                       lat=c(0,0,0,0,0,0,0,0),
                       value=c(10,30,40,50,20,20,100,100),
                       Facet=rep(c("Facet_1", "Facet_2"), 4),
                       colour=rep(c("colour_1", "colour_2"), each=4))

#Creat an example plot
map_with_jitter <- base_world+geom_point(data=geo_data,
                                            aes(x=long,
                                                y=lat,
                                                colour=colour,
                                                size=value),
                                         position="jitter",
                                         alpha=I(0.5))

#Add faceting
map_with_jitter <- map_with_jitter + facet_wrap(~Facet)

map_with_jitter <- map_with_jitter + theme(legend.position="none")

print(map_with_jitter)
Run Code Online (Sandbox Code Playgroud)

使用ggplot2的示例地图

有一个不优雅的解决方法:

subset_data <- …
Run Code Online (Sandbox Code Playgroud)

maps plot r bar-chart ggplot2

17
推荐指数
1
解决办法
1万
查看次数

改进居中县名ggplot和地图

早期我发布了一个关于使用ggplot在地图上绘制县名的问题以及在此处找到的地图.我的第一种方法是采用每个县的所有纬度和长坐标的方法,如下所示: 在此输入图像描述

值得庆幸的是,Andrie提出了两个建议,即使用范围中心改善居中,然后是coord_map(){这似乎可以保持宽高比正确}.这在很大程度上改善了中心位置,如下所示: 在此输入图像描述

我认为这看起来更好,但在重叠问题上仍然存在一些困难.我希望进一步提高中心性(在同一个线程中Justin提出了一个kmeans方法).如果有必要,我可以旋转文本,但我希望在必要时将它们居中并旋转(它们超出县界),以便在地图上最好地显示县名.

有任何想法吗?

library(ggplot2); library(maps)

county_df <- map_data('county')  #mappings of counties by state
ny <- subset(county_df, region=="new york")   #subset just for NYS
ny$county <- ny$subregion
p <- ggplot(ny, aes(long, lat, group=group)) +  geom_polygon(colour='black', fill=NA)

#my first approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny, FUN=mean)
ggplot(ny, aes(long, lat)) +  
    geom_polygon(aes(group=group), colour='black', fill=NA) +
    geom_text(data=cnames, aes(long, lat, label = subregion), size=3)

#Andrie's much improved approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny, 
                    FUN=function(x)mean(range(x)))
ggplot(ny, …
Run Code Online (Sandbox Code Playgroud)

geocoding r ggplot2

14
推荐指数
1
解决办法
6183
查看次数

R:如何在R中的散点图中的'点'上叠加饼图

使用RI想要通过显示其他值的饼图替换二维散点图中的点.

理性的背后是我有数百种元素(蛋白质)的时间序列数据,这些元素来源于监测4种条件的生物实验.我想在y轴上绘制元素(分类数据)并在x轴上绘制事件的时间.为了可视化4个条件之间的相对发生,我想以饼图或圆环图的形式将其可视化,重叠显示在散点图中的相应点上.总体数据密度低,因此重叠不会成为问题.

这可能在R?我在考虑在ggplot2中使用手动缩放,但无法弄清楚如何将饼图定义为缩放.

同样令人感兴趣的是如何最好地聚集这些数据并对其进行相应的排序.

charts visualization r cluster-analysis ggplot2

12
推荐指数
1
解决办法
4323
查看次数

在地图上独立移动2个图例ggplot2

我想在地图上独立移动两个传说以节省保存并使演示更好.

这是数据:

##              INST..SUB.TYPE.DESCRIPTION Enrollment      lat       lng
## 1                        CHARTER SCHOOL        274 42.66439 -73.76993
## 2                 PUBLIC SCHOOL CENTRAL        525 42.62502 -74.13756
## 3     PUBLIC SCHOOL CENTRAL HIGH SCHOOL         NA 40.67473 -73.69987
## 4                    PUBLIC SCHOOL CITY        328 42.68278 -73.80083
## 5            PUBLIC SCHOOL CITY CENTRAL        288 42.15746 -78.74158
## 6                  PUBLIC SCHOOL COMMON         NA 43.73225 -74.73682
## 7     PUBLIC SCHOOL INDEPENDENT CENTRAL        284 42.60522 -73.87008
## 8  PUBLIC SCHOOL INDEPENDENT UNION FREE        337 42.74593 -73.69018
## 9             PUBLIC SCHOOL …
Run Code Online (Sandbox Code Playgroud)

r legend ggplot2 r-grid

4
推荐指数
2
解决办法
1789
查看次数

在 R ggplot2 中将条形图绘制到地图上

我想将条形图添加到 ggplot2 中的地图中。存在类似的问题(这个这个),但他们的答案涉及 ggsubplot,它已被弃用。 geom_scatterpie()提供了一种使用饼图执行此操作的方法(示例 1,也请参阅示例 2),但饼图在视觉上不如条形图直观。同样,我们可以使用此处的geom_sf(size=)说明将气泡大小绘制到地图上。那么有没有办法用 bar 来做到这一点呢?

每个位置制作一根酒吧的可重复示例:

# devtools::install_github("hrbrmstr/albersusa")
library(albersusa)
library(sf)
library(ggplot2)

# make a map
statesus <- fortify(usa_sf("laea"))
p <- ggplot() +
     geom_sf(data=statesus, size=0.4)

# set up the data
lat <- c(-68.24, -109.88, -80.88, -113.85)
lon <- c(44.35, 38.24, 25.37, 48.75)
park <- c("Acadia", "Canyonlands", "Everglades", "Glacier")
proportion <- c(0.10, 0.80, 0.05, 0.45) # bar heights
parkdat <- data.frame(lat=lat, lon=lon, park=park, proportion=proportion)
parkdatsf <- …
Run Code Online (Sandbox Code Playgroud)

dictionary r ggplot2 geom-bar r-sf

3
推荐指数
1
解决办法
1044
查看次数