作者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://www.ptt.cc/bbs/R_Language/M.1479399907.A.41D.html
推 celestialgod: 用基本繪圖刻圖 就是純粹的基本功阿阿.... 11/18 00:43
推 celestialgod: 我最討厭調那個ratio了XDD 我都偷懶用套件... 11/18 00:43
→ andrew43: 是啊。內建畫法的缺點就是一個指令一個動作很不人性化 11/18 00:45
推 celestialgod: 佩服有耐心毅力用內建畫法慢慢刻 11/18 00:48
推 celestialgod: 我認識不少這種人XDD 我個人還是走懶散路線就好 11/18 00:48
→ andrew43: XD 11/18 01:03
推 samex4x4: 感謝andrew大,一整串看下來看到好多畫法XD 11/18 13:01
→ andrew43: 傳統畫法有太多秘技眉角(這是缺點),有不明白之處歡 11/18 13:26
→ andrew43: 迎再提問。 11/18 13:26