首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

空间地理数据可视化之 ggplot2 包及其拓展

基本画图设置 ggplot2[2]是一个基于图形语法来创建图形的包,因此我们可以使用 ggplot() 函数和以下元素创建一个图: 想要可视化的数据; 指定数据的几何形状,如点或条。...其中,aes() 用于将数据中的变量映射为对象的视觉属性; 可选的元素,如标尺、标题、标签、图例和主题等。 我们可以使用 geom_sf() 函数和一个简单特征对象( sf 类)来创建地图。...更多设置 在 ggplot() 中,离散变量的默认色标是 scale_*_hue() ,这里 * 表示颜色(为点和线等特征着色)或填充(为多边形或柱状图着色); scale_*_grey() 用来改变灰色颜色的默认比例...包的颜色(Garnier 2018); 可用 scale_*_manual() 手动定义我们自己的颜色集,此函数有一个逻辑参数叫 drop ,用来决定是否在尺度中保留不常用的因子水平; 连续变量的颜色刻度可以用...图像保存 要保存用 ggplot2 绘制的图,我们可以使用 ggsave() 函数。

3.2K30

R语言可视化——关于ggplot所支持的数据地图素材类型

虽然从数据存储格式上来讲我们分为shp素材、json素材,但是由于在R语言中使用ggplot2作图,所支持的数据集对象大致又可分为两类,它们都可以由shp、json数据文件转化而来。...而sf对象将这种控件数据格式件进行了更加整齐的布局,使用st_read()导入的空间数据对象完全是一个整齐的数据框,拥有整齐的行列,这些行列中包含着数据描述和几何多边形的边界点信息。...然后如果是第一种sp格式的话,在制作ggplot2地图过程中,我们需要分离描述层和几何映射层,并为两者指定连接的id(主键),如果算上你要将自己的业务数据和描述层数据合并这一动作的话,那么总共我们需要合并两次数据...rgdal包可以替代sp包导入shp数据(事实上它也支持json数据的导入,似不似很强大),而sf包则是新崛起,支持sf对象格式导入的包,而且ggplot2率先给这个包开了绿灯,直接创建了geom_sf...R语言中可以制作数据地图的包有很多(我长用到的): #需要自己准备数据地图素材: map() ggplot(china_map1)+geom_line() #只能做轮廓图 ggplot(china_map1

2.4K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R-ggspatial+ggplot2 实现带指北针和比例尺的空间地图绘制

    继上次使用tmap包制作含有指北针(compass)和比例尺(scale bar)以及南海小地图的添加,详细内容分别见如下两篇文章:R-tmap 绘制带指北针和比例尺的空间地图和 R-tmap+grid...虽然tmap包有着类似于ggplot2绘图语法,但对习惯使用ggplot2绘图的小伙伴怎不怎么友好。那么今天本期推文就使用 ggspatial 包实现指北针和比例尺的添加。...主要涉及的知识点如下: sf包shp文件读取及转换投影 ggplot2 + ggspatial 实现指北针和比例尺的添加 sf 读取shp文件并转换投影 我想经常使用R处理空间数据的小伙伴们对sf包一定特别熟悉...由于其投影精度高,变形小,而且计算简便(各投影带坐标一致,只要算出一个带的数据,其他各带都能应用),因此在大比例尺地形图中应用,可以满足军事上各种需要,并能在图上进行精确的量测计算(来源于百度)。...总结 本期推文我们使用ggspatial包、ggplot2包以及sf包的geom_sf()完成另一种指北针和比例尺地图的绘制,希望给大家一些绘制灵感。

    2.8K20

    如何处理地图投影转换

    之前在学习ggplot2中的geom_polygon()图层制作地图图形时,从来没有苦恼过投影的问题,因为coord_map()中直接给出投影转换的参数,如果要制作基于国家的地图,直接赋值为polyconic...R语言中支持GIS数据模型的包一共有两个:sp包和sf包,在旧版的ggplot2中,geom_polygon高度依赖从sp导入的数据对象(虽然也可以从sf中获取)。...之前的文章中没有特别探究投影问题,当时做的案例图是这个样子的,很明显与常见的纸质中国地图有很大差别。 之前使用simple模型练习的图表 ? 常见的多圆锥视角中国地图投影 ?...由于投影后的投影坐标系已经被投影算法转换,所以在使用geom_text等图层函数时,务必要使用与几何对象投影一致的经纬度点,这里使用sf中的点中心计算函数最为快捷。...在Python中投影的问题同样需要手动处理: from shapely.geometry import Point,LineString import geopandas as gpd from matplotlib.colors

    1.8K30

    实用帖之R-ggplot2 标准中国地图制作

    这期涉及空间图表绘制,主要涉及知识点如下: ggplot2 + sf 中国标准地图绘制 cowplot 包实现地图子图插入 ggplot2 + sf 中国标准地图绘制 本期的绘图我们是按照如下图表进行绘制的...这里注意点,要想使数据绘制在地图上,我们需使用st_as_sf()对其进行转换,处理: scatter_df_tro 中的内容 接下来将数据在地图中显示,具体代码如下: ggplot() + geom_sf(data = china,fill="NA",size=.5,color="black") +...这里还存在如下问题: (1) 尽量将南海部分放置在右下角(虽然这样也可以) (2) 图例只是默认的,没有进行定制化操作,影响美观 cowplot包子图添加 cowplot包可是实现对绘图结果的任意组合,...这里需注意的是xlim和ylim的设置,具体值都是在 +proj=laea +lat_0=40 +lon_0=104 投影坐标系下的值,而常规坐标转不同坐标下的操作也很简单,可使用st_transform

    1.4K10

    R-ggplot2 标准中国地图制作

    由于基础图表绘制系列推文还在加紧准备中,所以这期推文还是对一些感兴趣的图表进行绘制,这期涉及空间图表绘制,主要涉及知识点如下: ggplot2 + sf 中国标准地图绘制 cowplot 包实现地图子图插入...ggplot2 + sf 中国标准地图绘制 本期的绘图我们是按照如下图表进行绘制的(该图来自朋友公号): ?...这里注意点,要想使数据绘制在地图上,我们需使用st_as_sf()对其进行转换,处理: scatter_df_tro 中的内容 接下来将数据在地图中显示,具体代码如下: ggplot() + geom_sf(data = china,fill="NA",size=.5,color="black") +...这里需注意的是xlim和ylim的设置,具体值都是在 +proj=laea +lat_0=40 +lon_0=104 投影坐标系下的值,而常规坐标转不同坐标下的操作也很简单,可使用st_transform

    2.9K11

    R语言 | ggplot2绘制标准中国地图

    由于基础图表绘制系列推文还在加紧准备中,所以这期推文还是对一些感兴趣的图表进行绘制,这期涉及空间图表绘制,主要涉及知识点如下: ggplot2 + sf 中国标准地图绘制 cowplot 包实现地图子图插入...ggplot2 + sf 中国标准地图绘制 本期的绘图我们是按照如下图表进行绘制的(该图来自朋友公号): 其实我很早就想试着用R进行此类图表的绘制了,但由于强大的Arcgis和绘图进度等原因,导致迟迟没有进行...散点数据的读取 由于只获得数据经纬度信息,其他数据均为虚构,数据预览如下: 这里注意点,要想使数据绘制在地图上,我们需使用st_as_sf()对其进行转换,处理: scatter_df_tro <- st_as_sf...(scatter_df,coords = c("lon", "lat"),crs = 4326) 结果如下: 注意红色框中的内容 接下来将数据在地图中显示,具体代码如下: ggplot() +...xlim和ylim的设置,具体值都是在 +proj=laea +lat_0=40 +lon_0=104 投影坐标系下的值,而常规坐标转不同坐标下的操作也很简单,可使用st_transform进行操作。

    5.2K31

    R-ggplot2 标准中国地图制作

    由于基础图表绘制系列推文还在加紧准备中,所以这期推文还是对一些感兴趣的图表进行绘制,这期涉及空间图表绘制,主要涉及知识点如下: ggplot2 + sf 中国标准地图绘制 cowplot 包实现地图子图插入...ggplot2 + sf 中国标准地图绘制 本期的绘图我们是按照如下图表进行绘制的(该图来自朋友公号): ?...这里注意点,要想使数据绘制在地图上,我们需使用st_as_sf()对其进行转换,处理: scatter_df_tro 中的内容 接下来将数据在地图中显示,具体代码如下: ggplot() + geom_sf(data = china,fill="NA",size=.5,color="black") +...这里需注意的是xlim和ylim的设置,具体值都是在 +proj=laea +lat_0=40 +lon_0=104 投影坐标系下的值,而常规坐标转不同坐标下的操作也很简单,可使用st_transform

    1.3K20

    ggmapinset!这个工具绘制子地图真的太方便~~

    简介 ggmapinset是R语言中的一个包,它是基于ggplot2和ggmap包的扩展,用于在地图上添加缩略图。...该包提供了一种简单的方法,可以在一个图形中同时显示主地图和缩略图,从而方便用户进行比较和分析。...安装方法 可以使用以下命令在R中安装ggmapinset包: install.packages("ggmapinset") 特点 提供了一种简单的方法,可以在一个图形中同时显示主地图和缩略图。...,可参考:ggmapinset包官网[1] 总结 ggmapinset 是一个非常有用的R包,它可以在地图上添加缩略图,提高图形的可读性。...该包提供了一些简单的函数,可以方便地调整缩略图的大小和位置,并添加标签和注释。如果您需要在地图上显示多个区域的数据,那么ggmapinset是一个值得尝试的工具。

    29120

    R语言绘图之ggplot2

    那么今天我们就为大家介绍一下目前在R语言中流行的绘图包ggplot2。 1. ggplot2的安装:install.packages("ggplot2")。...) geom_polygon 多边形 geom_quantile 一组分位数线(来自分位数回归) geom_rect 二维的长方形 geom_ribbon 彩虹图(在连续的x值上表示y的范围,例如Tufte...二维密度图,用六边形表示 stat_boxplot 绘制带触须的箱线图 stat_contour 绘制三维数据的等高线图 stat_density 绘制密度图 stat_density2d 绘制二维密度图...均匀色调 scale_identity 直接使用指定的取值,不进行标度转换 scale_linetype 用线条模式来展示不同 scale_manual 手动指定离散标度 scale_shape 用不同的形状来展示不同的数值...coord_map 地图投影 coord_polar 极坐标投影 coord_trans 变换笛卡儿坐标 分面函数 描述 facet_grid 将分面放置在二维网格中 facet_wrap 将一维的分面按二维排列

    4.3K10

    数据处理基础—ggplot2了解一下

    5.8 ggplot2简介 5.8.1 什么是ggplot2 ggplot2是由Hadley Wickham设计的R软件包,它有助于数据绘图。在本实验中,我们将简要介绍该软件包的一些功能。...5.8.2 ggplot2的原理 如果要使用ggplot2绘制数据,则数据必须是数据框。 使用aes映射函数来指定数据框中的变量如何映射到图上的要素 使用geoms来指定数据在图表中的表示方式,例如。...散点图,条形图,箱形图等。 5.8.3 使用aes映射功能 该aes函数指定数据框中的变量如何映射到绘图上的要素。...例如,我们选择的geom可以指定我们的数据显示为散点图,条形图或箱形图。 让我们看看我们的图形怎样看起来像散点图。...我们将研究如何在未来的实验室中更深入地使用单细胞RNA-seq分析中的PCA图,这里的目的是让您大概了解PCA图是什么以及它们是如何生成的。 让我们为我们的test数据制作一个PCA图。

    1.5K30

    Day7:R语言课程 (R语言进行数据可视化)

    1.设置数据框以进行可视化 在本课中需要制作与每个样本中的平均表达量相关的多个图,还需要使用所有可用的metadata来适当地注释图表。 观察rpkm数据。...你会得到一个空白图,需要使用运算符指定图层+。 几何对象是图层的一种。是在图上添加的具体图形。...箱形图提供了基于五分位数的数据分布图。框的顶部和底部代表第一和第三个四分位数(分别为25%和75%)。框内的线代表中位数(50%)。在框的上方和下方延伸到的点代表数据集的最大值和最小值。...将图片导出到文件 有两种方法可以将图输出到文件中(而不是简单地在屏幕上显示)。第一种(也是最简单的)是直接从RStudio“Plots”面板导出,点击绘图面板上方的Export。...注2: 如果在关闭设备之前已经制作了任何其他图表,它们将全部存储在同一个文件中; 除非另有说明,否则每个图通常都会有自己的页面。 ?

    6K10

    ggplot增设小地图(南海九段线)

    [toc] ggplot增设小地图(南海九段线) 背景 用Arcgis专业作图工作制作中国地图时候,往往会添加南海九段线,其中南海九段线是因为需要保证中国土地的主权完整性。...在Arcgis中操作时候,会根据标准中国地图,实现增加第二个图层,然后只截取南海部分,完成两个图层展现在同一副图中。 那么问题来了,如何在R中实现该操作?...插入到主图层,需要调整参数位置。...请借助 ggthemes提供的主题。可自行探索。 image.png 插入图例与指南针 有时候需要插入比例尺与指南针,见 R 地图绘制-比例尺与指北针 这里直接给出code。...with R, sf and ggplot2 — Part 3: Layouts ggplot 与sf 实现地图缩放功能

    1.6K30

    推荐:这才是你寻寻觅觅想要的 Python 可视化神器

    02 使用 Plotly Express 轻松地进行数据可视化 一旦导入Plotly Express(通常是 px ),大多数绘图只需要一个函数调用,接受一个整洁的Pandas dataframe,并简单描述你想要制作的图...进行可视化时,你可以使用单变量设置中的直方图(histograms)和箱形图(box)或小提琴图(violin plots),或双变量分布的密度等高线图(density contours)。...使用直方图(histograms),箱形图(box)或小提琴图(violin plots)可视化单变量分布: 直方图 ? 箱形图 ? 小提琴图 ?...还可以创建联合分布图(marginal rugs),使用直方图,箱形图(box)或小提琴来显示双变量分布,也可以添加趋势线。...仅接受整洁输入所带来的最终优势是它更直接地支持快速迭代:你整理一次数据集,从那里可以使用 px 创建数十种不同类型的图表,包括在 SPLOM 中可视化多个维度 、使用平行坐标、在地图上绘制,在二维、三维极坐标或三维坐标中使用等

    5K10

    这才是你寻寻觅觅想要的 Python 可视化神器!

    使用 Plotly Express 轻松地进行数据可视化 一旦导入Plotly Express(通常是 px ),大多数绘图只需要一个函数调用,接受一个整洁的Pandas dataframe,并简单描述你想要制作的图...进行可视化时,您可以使用单变量设置中的直方图(histograms)和箱形图(box)或小提琴图(violin plots),或双变量分布的密度等高线图(density contours)。...使用直方图(histograms),箱形图(box)或小提琴图(violin plots)可视化单变量分布: 直方图: ? 箱形图: ? 小提琴图: ?...还可以创建联合分布图(marginal rugs),使用直方图,箱形图(box)或小提琴来显示双变量分布,也可以添加趋势线。...仅接受整洁输入所带来的最终优势是它更直接地支持快速迭代:您整理一次数据集,从那里可以使用 px 创建数十种不同类型的图表,包括在 SPLOM 中可视化多个维度 、使用平行坐标、在地图上绘制,在二维、三维极坐标或三维坐标中使用等

    4.2K21

    强烈推荐一款Python可视化神器!

    使用 Plotly Express 轻松地进行数据可视化 一旦导入Plotly Express(通常是 px ),大多数绘图只需要一个函数调用,接受一个整洁的Pandas dataframe,并简单描述你想要制作的图...进行可视化时,您可以使用单变量设置中的直方图(histograms)和箱形图(box)或小提琴图(violin plots),或双变量分布的密度等高线图(density contours)。...使用直方图(histograms),箱形图(box)或小提琴图(violin plots)可视化单变量分布: 直方图: ? 箱形图: ? 小提琴图: ?...还可以创建联合分布图(marginal rugs),使用直方图,箱形图(box)或小提琴来显示双变量分布,也可以添加趋势线。...仅接受整洁输入所带来的最终优势是它更直接地支持快速迭代:您整理一次数据集,从那里可以使用 px 创建数十种不同类型的图表,包括在 SPLOM 中可视化多个维度 、使用平行坐标、在地图上绘制,在二维、三维极坐标或三维坐标中使用等

    4.4K30

    这才是你寻寻觅觅想要的 Python 可视化神器

    使用 Plotly Express 轻松地进行数据可视化 一旦导入Plotly Express(通常是 px ),大多数绘图只需要一个函数调用,接受一个整洁的Pandas dataframe,并简单描述你想要制作的图...进行可视化时,您可以使用单变量设置中的直方图(histograms)和箱形图(box)或小提琴图(violin plots),或双变量分布的密度等高线图(density contours)。...使用直方图(histograms),箱形图(box)或小提琴图(violin plots)可视化单变量分布: 直方图: image.png 箱形图: image.png 小提琴图: image.png...还可以创建联合分布图(marginal rugs),使用直方图,箱形图(box)或小提琴来显示双变量分布,也可以添加趋势线。...仅接受整洁输入所带来的最终优势是它更直接地支持快速迭代:您整理一次数据集,从那里可以使用 px 创建数十种不同类型的图表,包括在 SPLOM 中可视化多个维度 、使用平行坐标、在地图上绘制,在二维、三维极坐标或三维坐标中使用等

    3.7K20

    详谈R语言构建地理投影系统绘制高端地图

    投影系统用来确定如何在平面上把地球表面的地理空间信息进行投影,以便更好地展示和分析数据。...这个投影系统叫做 "Winkel Tripel",它是一种广泛用于地图制作的投影方式,可以保证较为均衡地表示地球上的经纬度信息。...该函数接受两个参数:tomato_world:这是一个地理空间数据框架,包含了某些地理空间数据(例如地图上的点、线或多边形)。 crs参数,用来指定目标投影系统。...在这里,我们将 tomato_world 中的数据转换到了 crs_wintri 指定的投影系统中。...由于每一组经度值都有 181 个,因此实际上会在经度为 180、-180 和 180 的位置绘制经纬线。通过这些纬度和经度值,可以在地图上绘制经纬线。

    1.8K20
    领券