小编R. *_*Joe的帖子

在多面地图的绘图区域之外添加比例尺和指北针

我希望在多面地图的绘图区域之外添加比例尺和指北针。作为示例,请考虑以下多面地图图,如 Max Marchi 的博客文章(链接)所示:

# Load the data
airports <- read.csv("https://raw.githubusercontent.com/jpatokal/openflights/master/data/airports.dat", header = FALSE)
colnames(airports) <- c("ID", "name", "city",
  "country", "IATA_FAA", "ICAO", "lat", "lon",
   "altitude", "timezone", "DST")

routes <- read.csv("https://github.com/jpatokal/openflights/raw/master/data/routes.dat", header = FALSE)
colnames(routes) <- c("airline", "airlineID",
  "sourceAirport", "sourceAirportID",
  "destinationAirport", "destinationAirportID",
  "codeshare", "stops", "equipment")

# Getting the data ready for plotting
# * For a detailed explanation on setting up the data I suggest consulting Max Marchi's post: 
# http://www.milanor.net/blog/maps-in-r-plotting-data-points-on-a-map/
library(plyr)
departures <- ddply(routes, .(sourceAirportID), "nrow")
names(departures)[2] <- …
Run Code Online (Sandbox Code Playgroud)

gis r ggplot2 gtable r-grid

6
推荐指数
1
解决办法
4495
查看次数

向 R 中的刻面图添加刻度线

我希望在刻面图中添加刻度线。例如,对于这样的分面图:

require(ggplot2)

p <- ggplot(mpg, aes(displ, hwy)) + 
     geom_point() + 
     theme_minimal() +
     geom_hline(yintercept=10, linetype="solid") +
     geom_vline(xintercept=1.0, linetype="solid") +
     scale_x_continuous(limits=c(1,8), expand =c(0,0), 
     breaks = rep(2:7)) +
     scale_y_continuous(limits = c(10, 50), expand = c(0,0), 
     breaks = c(20,30,40)) +
     facet_wrap(~cyl) +   
     theme(panel.margin.x=unit(1.2, "lines"),
     panel.margin.y=unit(1.2, "lines"))
p
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我希望添加刻度线,使其看起来像这样(请注意,虽然刻度线已添加到所有方面,但刻度标签仅显示在左侧和底部方面):

在此处输入图片说明

我试过使用该annotation_custom函数向轴添加线条格子。但是我的尝试不起作用。

require(gridExtra)
require(grid)   
x.breaks = rep(2:7)
y.breaks = c(20,30,40)

for (i in 1:length(x.breaks))   {
  p = p + annotation_custom(grob = linesGrob(y = unit(c(0, 5), "npc"),
                       gp=gpar(col= "black")),  
                       xmin = x.breaks[i], 
                       xmax = x.breaks[i], 
                       ymin …
Run Code Online (Sandbox Code Playgroud)

r facet ggplot2 gridextra r-grid

4
推荐指数
1
解决办法
1737
查看次数

标签 统计

ggplot2 ×2

r ×2

r-grid ×2

facet ×1

gis ×1

gridextra ×1

gtable ×1