作者andrew43 (讨厌有好心推文後删文者)
看板R_Language
标题Re: [问题] 折线图+长条图呈现
时间Fri Nov 18 00:25:05 2016
这里提供传统内建的画法。
基本上就是先画柱再加折线。
# 假资料
dt <- data.frame(
freq = c(120,130,140,150,160,170,170,180),
earn = c(3,3,5,4,6,7,3,5) * 0.1
)
# 柱值和线值尺度上差很多需要调整的比例
y1.y2.ratio <- 500
# 第一纵轴值
y4.axis.val <- c(0, 100, 200, 300, 400)
# 画柱,不画第一纵轴
bp <- barplot(dt$freq, ylim = c(0, 400), yaxt = "n")
box()
# 画折线
lines(bp, dt$earn * y1.y2.ratio, col = 2)
# 补画各个轴
axis(1, bp, paste0("Q", rep(1:4, 2)))
axis(1, c(2, 7.3), c("2013", "2014"), line = 2, tick = F)
axis(2, y4.axis.val)
axis(4, y4.axis.val, y4.axis.val / y1.y2.ratio, col = 2, col.axis = 2)
※ 引述《samex4x4 (Same)》之铭言:
: [问题类型]:
:
: 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
:
: [软体熟悉度]:
: 入门(写过其他程式,只是对语法不熟悉)
: [问题叙述]:
: 想询问是否有办法同时画出长条图和摺线图在一张图表上?
: 两者是不同的数值(取不同栏位)
: 大概是长这样
: http://imgur.com/b5XELZF.jpg
: 谢谢QQ
: [程式范例]:
:
:
: [环境叙述]:
:
: 3.3.2
:
: [关键字]:
:
: 选择性,也许未来有用
:
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.37.172
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1479399907.A.41D.html
1F:推 celestialgod: 用基本绘图刻图 就是纯粹的基本功阿阿.... 11/18 00:43
2F:推 celestialgod: 我最讨厌调那个ratio了XDD 我都偷懒用套件... 11/18 00:43
3F:→ andrew43: 是啊。内建画法的缺点就是一个指令一个动作很不人性化 11/18 00:45
4F:推 celestialgod: 佩服有耐心毅力用内建画法慢慢刻 11/18 00:48
5F:推 celestialgod: 我认识不少这种人XDD 我个人还是走懒散路线就好 11/18 00:48
6F:→ andrew43: XD 11/18 01:03
7F:推 samex4x4: 感谢andrew大,一整串看下来看到好多画法XD 11/18 13:01
8F:→ andrew43: 传统画法有太多秘技眉角(这是缺点),有不明白之处欢 11/18 13:26
9F:→ andrew43: 迎再提问。 11/18 13:26