楼主: wangyj1
13081 7

[问答] 请问在R语言中如何设置坐标轴打断 [推广有奖]

  • 0关注
  • 0粉丝

本科生

27%

还不是VIP/贵宾

-

威望
0
论坛币
31 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
454 点
帖子
30
精华
0
在线时间
138 小时
注册时间
2009-6-3
最后登录
2022-3-16

楼主
wangyj1 发表于 2013-8-13 13:37:40 |AI写论文
50论坛币
有时候会遇到一个系列的数据不在一个数量级上,又要在图上同时反映出大数据和小数据的变化规律,就需要绘制下面这种坐标轴(Y轴)断开的图表。

在Origin中坐标轴选项卡中直接有break选项,但在R语言中没有相关的函数或者选项。请问各位大牛,R语言能否做出下面这种图,在50到900处纵轴被打断。谢谢各位!



图片及说明来源  http://www.yelinsky.com/blog/archives/331.html

最佳答案

bobguy 查看完整内容

Find a very close example to your problem from web and paste it here. ########################### # x-values x
关键词:R语言 坐标轴 Archive Origin break 坐标轴 如何

沙发
bobguy 发表于 2013-8-13 13:37:41
Find a very close example to your problem from web and paste it here.

###########################
# x-values
x <- 1:4

# small y-values with corresponding standard errors
meansarr <- c(14.9, 18.2, 14.5, 18.3)
searr <- c(0.47, 1.27, 1.22, 0.49)

# large values
meanslay <- c(36.4, 39.0, 35.3, 38.6)
selay <- c(0.51, 0.34, 0.57, 0.40)

library(plotrix)

# plot small values
plot(x, meansarr, ylim=c(12, 30), axes=F, type="b", xlab="", ylab="Day")
arrows(x, meansarr-searr, x, meansarr+searr, code = 3, angle = 90,
       length = 0.03)
box()

# x-axis
axis(1, tck=0.01, las=1, at=1:4,
     labels=c("1998", "1999", "2002", "2003"), mgp=c(3, 0.5, 0))

# y-axis
axis(2,at=c(12, 14, 16, 18, 20, 24, 26, 28,
            30),labels=c("12","14","16","18","20", "34","36","38","40"))


# break axis
axis.break(2, 22, style="zigzag")

# add large values to same plot
par(new=TRUE)
plot(x, meanslay, ylim=c(30, 40), type="b", xlab="", ylab="Day", axes=F)
arrows(x, meanslay-selay, x, meanslay+selay, code = 3, angle = 90,
       length = 0.03)

藤椅
trier2006 发表于 2013-8-14 13:18:39
我也想知道这个问题,顶一下
最好的医生是自己,最好的药物是时间……

板凳
zhangyangsmith 发表于 2013-8-14 14:41:09
Check the axis.break() function in the plotrix package. I cannot see your plot above and the link is blocked by the firewall...
已有 1 人评分热心指数 收起 理由
qoiqpwqr + 1 热心帮助其他会员

总评分: 热心指数 + 1   查看全部评分

报纸
李昕垚 发表于 2013-8-18 12:10:03
同求,楼上的不对,没有axis.break

地板
wangyj1 发表于 2013-8-20 14:56:07
看懂了,先安装并加载plotrix库,然后就有了 axis.break

library(plotrix)
plot(...)
axis.break(...)

7
deephilla 发表于 2017-2-14 21:50:53
学习了,谢谢bobguy

8
deephilla 发表于 2017-2-14 22:15:34
也发现了不足,若是制作一副图,在图中增加折断符号,但是设计不了折断的范围。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 12:42