可視化系列4 | 快速繪圖qplot3-折線圖

能最好又最清晰的表示數(shù)據(jù)變化趨勢的統(tǒng)計圖表厘贼,就是折線圖了吧界酒。

上一節(jié)內(nèi)容中,我們講解了關于使用qplot和ggplot繪制條形圖和直方圖的方法

光速繪制漂亮的條形圖和直方圖

onlybugs嘴秸,公眾號:輕松玩轉(zhuǎn)生信可視化系列3 | 快速繪圖qplot2-條形

折線圖常常被用來表示數(shù)據(jù)的變化趨勢毁欣,我們最常見的折線圖都是這樣,首先岳掐,具有一個類別型變量或者具有變化趨勢的x變量凭疮,然后具有隨著趨勢發(fā)生變動的y變量,然后有很多個組別串述,每個組別隨著x的變化执解,y的變化趨勢不同,因此就可以繪制一組比較不錯的折線圖了纲酗。

其實折線圖的話衰腌,我們使用excel或者tableau也可以做出不錯的效果,如果你熟悉python的話觅赊,那么使用seaborn也是可以的右蕊,但是上述工具的可拓展性以及可以控制的參數(shù)比較少,沒辦法全局操作茉兰。如果你需要高要求的折線圖,請使用ggplot欣簇,今天首先用qplot來繪制比較基本的折線圖规脸。

讓我們開始吧坯约!

繪制基本折線圖

開始畫圖的第一步,當然是加載我們的包莫鸭,以及展示一下我們要使用的數(shù)據(jù)集了闹丐,由于此處展示的折線圖繪制比較基礎,所以我們自己生成一組數(shù)據(jù)集

library(ggplot2)

year <- rep(1999:2021, times = 2)
type <- rep(c('A','B'),each = 23)
value <- c(runif(23),runif(23, min = 2,max = 2.5))
df <- data.frame(year,value,type)

df1 <- df[df$type == "A",]

這里給大家搞了一組最簡單的時間序列數(shù)據(jù)被因,其實使用真實的數(shù)據(jù)也可以细办,比如value可以是某個季度的銷售額變化弱恒,股市的變化等等,接下來的type表示我想看的兩個類型,比如兩支不同的股票瞬铸,或者兩個不同品牌的同一種商品,根據(jù)折線就可以看出它們之間的區(qū)別壮韭,以及變化趨勢裕膀,甚至是變化趨勢的區(qū)別。

下面先給大家整個最基礎的呻粹,只畫一條折線的

qplot(x = year,y = value,data = df1,
      geom = 'line')
圖片

效果很丑壕曼,就是一條扭曲的線嘛,但是如果是真實數(shù)據(jù)等浊,我們能得到如下結論腮郊,首先,隨著年份的增加筹燕,我們的因變量整體是在逐漸降低的轧飞,此外,如果大家了解時間序列分析的話還能看出來數(shù)據(jù)的變化有點循環(huán)波動的意思庄萎,具體分析就需要結合更多的知識才能解釋這種現(xiàn)象踪少。

扯多了,下面講講基本的繪圖參數(shù)糠涛,對于折線圖來說援奢,非常重點的參數(shù)就是關于折線的顏色以及折線的寬度,加上通用的折線的類型

qplot(x = year,y = value,data = df1,
      geom = "line",
      color = I("#219ebc"))
圖片

是不是已經(jīng)漂亮了很多忍捡,不過太細了集漾,粗一些更好

qplot(x = year,y = value,data = df1,
      geom = "line",
      color = I("#219ebc"),
      size = I(1.6))
圖片

現(xiàn)在看起來已經(jīng)比較不錯了,但是仍舊有一點點的不舒服砸脊,原因就在于我們的折線好像每一折都缺失了什么一樣具篇,所以需要看我們的下一部分教程。

散點折線圖

上面的內(nèi)容中凌埂,我們講解了最基本的折線圖的繪制驱显,但是我們的圖看起來總是有一點別扭的感覺,和我們平時論文里或者商業(yè)分析中的不太一樣,因為我們的圖中缺失了數(shù)據(jù)標識的點埃疫。

很多人都以為這種復雜的圖需要使用ggplot部分語法才能繪制伏恐,其實不然,使用qplot依舊可以達到這個效果栓霜,我們只需要在geom參數(shù)中傳入一個包含line和point的向量就可以做到了

qplot(x = year,y = value,data = df1,
圖片

這簡直就是藝術品一樣翠桦,不過大家可能會產(chǎn)生疑問,為什么我們的線條就這么細呢胳蛮,怎么就不能粗起來呢销凑?我給大家展示一下,然后再解釋為什么


qplot(x = year,y = value,data = df1,
      geom = c('line','point'),
      color = I("#219ebc"))
圖片

也許你仔細看的時候仅炊,能發(fā)現(xiàn)我們其實是有散點的斗幼,但是它和折線融為了一體,我們無法分辨茂洒。那你可能會問了孟岛,為什么不給size也傳兩個參數(shù)呢?抱歉督勺,我做不到渠羞,因為I函數(shù)只能接受一個參數(shù),如果你傳一個向量給size也是不行的智哀,人家不要你次询。

這么看來好像了無解了,別急瓷叫,我給你一個未來才會講解的方案的結果屯吊,這也是為什么qplot有了以后還需要ggplot


qplot(x = year,y = value,data = df1,
      geom = c('line','point'),
      color = I("#219ebc"),
      size = I(1.6))
圖片

(配色比較一般,將就著看)

分組折線圖

最后摹菠,我們來講解一下我們?nèi)粘V锌吹降淖疃嗟暮行叮纸M折線圖,這是一種非常實用而且美觀的圖表

qplot(x = year,y = value,group = type,
      color = type,
      data = df,
      geom = c('line','point'))
圖片

結果一目了然次氨,我?guī)Т蠹曳治鲆幌逻@里的參數(shù)蔽介,有些細微變化,不說可能就是坑了煮寡。首先虹蓄,多了一個新的參數(shù),叫做group幸撕,我們可以試著不指定看看


qplot(x = year,y = value,
      data = df,
      geom = c('line','point'))
圖片

你可能會說這是啥啊薇组,跟個噪音譜子一樣,難看死了坐儿,而且好像也沒啥實際價值律胀。你說對了宋光,因為我們的數(shù)據(jù)year是作為x軸的,每個year對應了兩個value炭菌,它們分別是種類A和B跃须,這也就導致了ggplot也不知道該怎么做了,只好給你都連在一起娃兽。

所以,我們的group參數(shù)的目的就是告訴ggplot尽楔,我們要把數(shù)據(jù)分組投储,按照哪一列進行分組,然后color后面的參數(shù)如果不跟上I()函數(shù)的話阔馋,就是用這一列映射不同的顏色玛荞,有幾個類別變量就映射幾個顏色。現(xiàn)在再翻上去看看我們繪制分組散點折線圖是不是就一目了然了呢呕寝?

下一篇可視化的文章會講解關于箱線圖和小提琴圖的繪制勋眯,同樣是使用qplot進行處理,簡單又方便下梢,實在是美哉客蹋,連我接連用qplot用多了,都忍不住對它贊美一下下孽江。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讶坯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子岗屏,更是在濱河造成了極大的恐慌辆琅,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件这刷,死亡現(xiàn)場離奇詭異婉烟,居然都是意外死亡,警方通過查閱死者的電腦和手機暇屋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門似袁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人率碾,你說我怎么就攤上這事叔营。” “怎么了所宰?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵绒尊,是天一觀的道長。 經(jīng)常有香客問我仔粥,道長婴谱,這世上最難降的妖魔是什么蟹但? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮谭羔,結果婚禮上华糖,老公的妹妹穿的比我還像新娘。我一直安慰自己瘟裸,他們只是感情好客叉,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著话告,像睡著了一般兼搏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沙郭,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天佛呻,我揣著相機與錄音,去河邊找鬼病线。 笑死吓著,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的送挑。 我是一名探鬼主播绑莺,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惕耕!你這毒婦竟也來了紊撕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赡突,失蹤者是張志新(化名)和其女友劉穎对扶,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惭缰,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡浪南,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了漱受。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片络凿。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖昂羡,靈堂內(nèi)的尸體忽然破棺而出絮记,到底是詐尸還是另有隱情,我是刑警寧澤虐先,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布怨愤,位于F島的核電站,受9級特大地震影響蛹批,放射性物質(zhì)發(fā)生泄漏撰洗。R本人自食惡果不足惜篮愉,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望差导。 院中可真熱鬧试躏,春花似錦、人聲如沸设褐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽助析。三九已至裁替,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間貌笨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工襟沮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锥惋,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓开伏,卻偏偏與公主長得像膀跌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子固灵,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容