Re: [问题] 折线图+长条图呈现

楼主: andrew43 (讨厌有好心推文后删文者)   2016-11-18 00:25:05
这里提供传统内建的画法。
基本上就是先画柱再加折线。
# 假资料
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
:
: [关键字]:
:
: 选择性,也许未来有用
:
作者: celestialgod (天)   2016-11-18 00:43:00
用基本绘图刻图 就是纯粹的基本功阿阿....我最讨厌调那个ratio了XDD 我都偷懒用套件...
楼主: andrew43 (讨厌有好心推文后删文者)   2016-11-18 00:45:00
是啊。内建画法的缺点就是一个指令一个动作很不人性化
作者: celestialgod (天)   2016-11-18 00:48:00
佩服有耐心毅力用内建画法慢慢刻我认识不少这种人XDD 我个人还是走懒散路线就好
楼主: andrew43 (讨厌有好心推文后删文者)   2016-11-18 01:03:00
XD
作者: samex4x4 (Same)   2016-11-18 13:01:00
感谢andrew大,一整串看下来看到好多画法XD
楼主: andrew43 (讨厌有好心推文后删文者)   2016-11-18 13:26:00
传统画法有太多秘技眉角(这是缺点),有不明白之处欢迎再提问。

Links booklink

Contact Us: admin [ a t ] ucptt.com