相关疑难解决方法(0)

如何在ggplot中更改线宽?

数据链接:使用 的数据

我的代码:

ccfsisims <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_ConsIndex.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE)
ccfsirsts <- as.data.frame(ccfsisims)
ccfsirsts[6:24] <- sapply(ccfsirsts[6:24],as.numeric)
ccfsirsts <- droplevels(ccfsirsts)
ccfsirsts <- transform(ccfsirsts,sres=factor(sres,levels=unique(sres)))

library(ggplot2)

#------------------------------------------------------------------------------------------
#### Plot of food security index for Morocco and Turkey by sector
#------------------------------------------------------------------------------------------

#_Code_Begin...

datamortur <- melt(ccfsirsts[ccfsirsts$region %in% c("TUR","MAR"), ]) # Selecting regions of interest
datamortur1 <- datamortur[datamortur$variable %in% c("pFSI2"), ] # Selecting the food security index of interest
datamortur2 <- datamortur1[datamortur1$sector %in% c("wht","gro","VegtFrut","osd","OthCrop","VegtOil","XPrFood"), ] # Selecting food sectors of interest
datamortur3 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 line-plot

112
推荐指数
5
解决办法
25万
查看次数

尽管线条大小,如何保持线型间距不变

当尺寸不同时,我一直试图在 ggplot2 或网格中绘制线段之间具有相等间距的线。但是我没有成功,所以我向你寻求帮助。

在下面的示例中,如何在线条大小不同的情况下保持线段之间的绝对间距相等?

我想避免使用自定义makeContent.myclass方法来控制自己。

library(ggplot2)
library(grid)

df <- data.frame(
  x = c(1:2, 1:2),
  y = c(1:2, 2:1),
  size = c(1,1,10,10)
)

# In ggplot2
ggplot(df, aes(x, y, size = size, group = size)) +
  geom_line(linetype = 2)
Run Code Online (Sandbox Code Playgroud)

# In grid
lines <- polylineGrob(
  x = scales::rescale(df$x), 
  y = scales::rescale(df$y), 
  id = c(1,1,2,2),
  gp = gpar(lty = 2, lwd = c(1, 10))
)

grid.newpage(); grid.draw(lines)
Run Code Online (Sandbox Code Playgroud)

我想要类似于以下在 illustrator 中制作的东西。请注意,红线段的长度相等。

在此处输入图片说明

有任何想法吗?谢谢阅读!

r ggplot2 r-grid

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

增加geom_line中线的大小

这是我正在使用的代码:

ggplot(data, aes(x = Date1, group=1)) + 
  geom_line(aes(y = Wet, colour = "Wet")) + 
  geom_line(aes(y = Dry, colour = "Dry"))
Run Code Online (Sandbox Code Playgroud)

当我使用功能大小时,线条太粗,并且它们的宽度从size=0.1size=10或更多相同。有没有办法控制线的大小?

虚拟数据:

Date         Wet    Dry
July        5.65    4.88
September   5.38    3.93
October     4.73    2.42
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

r ×3

ggplot2 ×2

line-plot ×1

r-grid ×1