楼主: hopui2017
1780 4

[问答] R语言如何给plot图添加灰色分面 [推广有奖]

  • 10关注
  • 3粉丝

已卖:80份资源

硕士生

10%

还不是VIP/贵宾

-

威望
0
论坛币
2638 个
通用积分
11.9105
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
648 点
帖子
61
精华
0
在线时间
143 小时
注册时间
2017-10-19
最后登录
2025-12-12

楼主
hopui2017 发表于 2021-5-18 08:58:46 |AI写论文
100论坛币
大家好,我用plot函数画了简单的拟合曲线图,如图一。
  1. plot(xlab=NA,ylab=NA,x=r_h,y=r_d,pch=20,cex=0.8)
  2. mtext(c("Relative height","Relative diameter"), side=c(1,2,3), line=c(2.2,2.2),outer=FALSE)
  3. legend("top",legend="图一",bty="o", bg="gray",text.width = 1.03)
复制代码

我想给图添加类似ggplot的灰色条,结果不太理想。请问怎么才能将灰色条画在图的外面,文字居中呢?如图2所示。感谢大家

图一

Rplot00000000000.png

图2


Rplot11111111111.png



最佳答案

owenqi 查看完整内容

一定要用基础画图吗?用ggplot可否?
关键词:plot R语言 Relative Meter Eight R画图;添加图例;添加标签;plot画图

沙发
owenqi 在职认证  学生认证  发表于 2021-5-18 08:58:47
一定要用基础画图吗?用ggplot可否?
  1. library(ggplot2)
  2. library(gridExtra)
  3. library(grid)

  4. # Create dummy variable to facet on: this name will appear in the strip
  5. mtcars$tempvar <- "Market Updates"

  6. # Basic plot
  7. # Manually added legend to match your expected result
  8. p <- ggplot(mtcars, aes(mpg, wt)) +
  9.   geom_line() + labs(x = "Date", y = "High") + facet_grid(. ~ tempvar) +
  10.   theme(strip.background = element_rect(fill="gray"),
  11.         strip.text = element_text(size=15))
  12. p
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
hopui2017 发表于 2021-5-18 14:37:18
owenqi 发表于 2021-5-18 11:33
一定要用基础画图吗?用ggplot可否?
感谢您的回复。ggplot的代码不利于我添加那条拟合曲线。那条loess线添加时涉及到排序问题。

板凳
owenqi 在职认证  学生认证  发表于 2021-5-18 23:53:03
你试试看这样?
  1. # Random data to plot:
  2. A <- data.frame(x=rnorm(100, 20, 2), y=rnorm(100, 20, 2))
  3. par(mar=c(5.1, 4.1, 4.1, 4.1), xpd=TRUE)
  4. plot(y ~ x, A, pch=1)
  5. legend("top", inset=c(0, -.155), legend = '', title = '图一', bg="gray",
  6.        text.width = 10, bty = 'o')
复制代码

报纸
hopui2017 发表于 2021-5-19 11:02:10
owenqi 发表于 2021-5-18 23:53
你试试看这样?
感谢您的回复。貌似是那么回事了。还需要再调整。不行了就用ggplot

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 13:02