我只是想制作一个简单的研究区域地图,其中还包含我正在工作的州(北卡罗来纳州)的插图.我想将插图地图转换为grob对象以在主要研究区域地图中绘制它,然后使用ggsave将地图保存为图像,pdf等.我正在使用shapefile作为我的实际地图,但我会告诉你我正在尝试使用map_data:
library(ggplot2)
library(ggmap)
library(maps)
library(mapdata)
library(gridExtra)
library(grid)
# get the NC data:
states <- map_data("state")
nc_df <- subset(states, region == "north carolina")
# study area map:
nc_base <- ggplot() +
geom_polygon(data = nc_df, aes(x = long, y = lat, group = group), fill="grey", color="black") +
coord_fixed(xlim=c(-80, -77.5), ylim=c(33.5, 34.9), ratio = 1.3) +
theme_bw()
nc_base
# inset map:
insetmap<-ggplot() +
geom_polygon(data = nc_df, aes(x = long, y = lat, group = group), fill="grey", color="black") + # get the state border …
Run Code Online (Sandbox Code Playgroud) 我正在做一个研究地图GGPLOT2,并想用一个黑星记号这样★绘制城市的位置.
有没有办法调整geom_point中的pch参数来绘制该符号,可能使用unicode表达式?我用这段代码成功地在ggplot2中绘制了其他unicode符号:
library(ggplot2)
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point(pch="\u2265", size=10)
Run Code Online (Sandbox Code Playgroud)
当我使用\ u2605代替黑色星形符号时,结果图只显示空心矩形符号.有没有不同的方法来做这个,或该符号的替代unicode?如果有所作为,我在Mac上使用RStudio.
谢谢,杰伊
我有一个由2x2配置的4个图组成的多图图。我使用“ cowplot”包安排了地块,并使用下面的代码安排了plot_grid函数
plot_grid(p1, p2, p3, p4, align='vh', vjust=1, scale = 1)
Run Code Online (Sandbox Code Playgroud)
其中p1-p4是我的4个图。产生的图形具有一个x轴标签,该标签与多图中的每一列关联:
有谁知道我该如何用Cowplot或其他方式编写以多图底部为中心的单个x轴标签的编码?
我试图获取一个列的值,该列对应于我的数据集中的最右边的值(完全是二进制):
Variable 1 2 3 4 5
A 0 0 1 0 1
B 0 1 0 0 0
C 1 0 0 1 0
D 1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)
所以对于上面的矩阵,我想知道变量A(在这种情况下为5),变量B(2),变量C(4)等的最高值.我不知道从这个问题开始的位置 - 任何人有个主意吗?
谢谢!
我有一个数据框 (df1),其中包含一些缺失值(城市、州):
SiteID City StateBasedIn Lat Lon Var1 Var2
4227 Richmond KY -39 -113 6 0
4987 Nashville TN -33 -97 7 0
4000 Newark NJ -39 -95 8 0
4925 Miami FL -40 -99 0 0
4437 Montgomery AL -32 -117 4 1
4053 Jonesboro AR -30 -98 8 1
df1 <- structure(list(SiteID = c(4227L, 4987L, 4000L, 4925L, 4437L,
4053L, 4482L, 4037L, 4020L, 1787L, 2805L, 3025L, 3027L, 3028L,
3029L, 3030L, 3031L, 3033L), City = structure(c(10L, 7L, 8L,
5L, 6L, …
Run Code Online (Sandbox Code Playgroud)