Статьи

Минималистическое построение плотностей в R

На этой неделе я упомянул серию карт в Twitter,

некоторые минималистские карты http://t.co/YCNPf3AR9n ( poke @visionscarto ) pic.twitter.com/Ip9Tylsbkv

2 сентября 2015

Вечером в пятницу, перед тем как покинуть офис, чтобы забрать детей после первой недели их занятий, Мэтью Чемпион (aka  @matthewchampion ) прислал мне электронное письмо с просьбой предоставить более подробную информацию. Он хотел знать, производил ли я эти графики, и мог ли он упомянуть об этом в посте. Правда в том, что я понятия не имею, кто создал эти графики, но я сказал ему, что их легко воспроизвести. Например, для городов , в R, используйте

> library(maps)
> data("world.cities")
> plot(world.cities$lon,world.cities$lat,
+ pch=19,cex=.7,axes=FALSE,xlab="",ylab="")

Можно сделать более минималистичным, нанося на карту только города с более чем 100 000 жителей, например,

> world.cities2 = world.cities[
+ world.cities$pop>100000,]
> plot(world.cities2$lon,world.cities2$lat,
+ pch=19,cex=.7,axes=FALSE,xlab="",ylab="")

Для аэропортов это было несколько сложнее, поскольку на  http://openflights.org/data.html#airport упоминается 6977 аэропортов. Но на  http://www.naturalearthdata.com/ я нашел другой набор данных с 891 аэропортом.

> library(maptools)
> shape <- readShapePoints(
+ "~/data/airport/ne_10m_airports.shp")
> plot(shape,pch=19,cex=.7)

На том же сайте можно найти набор данных для портов ,

> shape <- readShapePoints(
+ "~/data/airport/ne_10m_ports.shp")
> plot(shape,pch=19,cex=.7)

Это для графиков, основанных на точках. Для тех, кто основан на линиях, например  реках , шейп-файлы можно загрузить с  https://github.com/jjrom/hydre/tree/ , а затем использовать

> require(maptools)
> shape <- readShapeLines(
+ "./data/river/GRDC_687_rivers.shp")
> plot(shape,col="blue")

Для  дорог шейп-файл можно скачать с  http://www.naturalearthdata.com/

> shape <- readShapeLines(
+ "./data/roads/ne_10m_roads.shp")
> plot(shape,lwd=.5)

Наконец, что не менее важно, для озер нам нужны многоугольники,

> shape <- readShapePoly(
+ "./data/lake/ne_10m_lakes.shp")
> plot(shape,col="blue",border="blue",lwd=2)

Хорошо, не правда ли? См.  Посмотрите на мир по-другому с этими минималистскими картами  для  M Champion ‘s Post.