相关疑难解决方法(0)

在同一ggplot中绘制离散和连续的比例

我想使用ggplot2绘制一些不同的数据项,使用两个不同的色标(一个连续和一个离散来自两个不同的df).我可以准确地描绘出我个人喜欢的方式,但我不能让它们一起工作.看起来你不能在同一个情节中运行两种不同的色标吗?我在这里这里看到过类似的问题,这让我相信我想要实现的目标在ggplot2中是不可能的,但是如果我错了,我想说明我的问题,看看是否有变通.

我有一些GIS流数据,附有一些分类属性,我可以绘制(p1在下面的代码中)以获得: 在此输入图像描述

我还有一组具有连续响应的位置,我也可以绘制(p2在下面的代码中)以获得: 在此输入图像描述 但是我无法将两者结合起来(p3在下面的代码中).我收到这个错误

比例误差[[prev_aes]]:尝试选择少于一个元素

注释掉该行scale_colour_hue("Strahler order") +会将错误更改为

错误:提供给连续刻度的离散值

基本上似乎ggplot2对geom_path呼叫和geom_point呼叫使用相同的比例类型(连续或离散).因此,当我将离散变量传递 factor(Strahler)scale_colour_gradientn比例时,绘图失败.

有没有解决的办法?如果有data一个scale函数的参数告诉它应该映射或设置属性,那将是惊人的.这甚至可能吗?

非常感谢和可重现的代码如下:

library(ggplot2)

### Download df's   ###
oldwd <- getwd(); tmp <- tempdir(); setwd(tmp)
url <- "http://dl.dropbox.com/u/44829974/Data.zip"
f <- paste(tmp,"\\tmp.zip",sep="")
download.file(url,f)
unzip(f)


### Read in data    ###
riv_df <- read.table("riv_df.csv", sep=",",h=T)
afr_df <- read.table("afr_df.csv", sep=",",h=T)
vil_df <- read.table("vil_df.csv", sep=",",h=T)


### Min and max for plot area   ###
xmin …
Run Code Online (Sandbox Code Playgroud)

gis graphics r ggplot2

10
推荐指数
2
解决办法
9234
查看次数

格式化多个geom_sf图例

我正在ggplot中处理多个sf几何形状,并希望以点,线和正方形(对于多边形)的形式显示图例。但是,geom_sf图例结合了下面显示的我的几何特征(即结合线和点):

library(ggplot2)
library(sf)

poly1 <- cbind(lon = c(5, 6, 7, 5), lat = c(52, 53, 51, 52))

poly <- st_sf(st_sfc(st_polygon(list(poly1))))
line <- st_sf(st_sfc(list(st_linestring(cbind(lon = c(5.5, 4.5), lat = c(53.5, 54.5))))))
point <- st_sf(st_sfc(st_point(cbind(lon = 5.5, lat = 52.7))))

ggplot() +
  geom_sf(data = poly, aes(fill = "A")) +
  geom_sf(data = point, aes(colour = "B"), show.legend = "point") +
  geom_sf(data = line, aes(colour = "C"), show.legend = "line") +
  scale_fill_manual(values = c("A" = "yellow")) +
  scale_colour_manual(values = c("B" = "pink", "C" = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 r-sf

5
推荐指数
1
解决办法
879
查看次数

标签 统计

ggplot2 ×2

r ×2

gis ×1

graphics ×1

r-sf ×1