1. 程式人生 > >R語言:ggplot2精細化繪圖——以實用商業化圖表繪圖為例

R語言:ggplot2精細化繪圖——以實用商業化圖表繪圖為例

3、常用的商業用圖

接下來分享一下我在這次作圖過程中,最常用的幾個圖形的程式碼。首先宣告,這些圖形的進一步做法以及變形,基本都可以在這兩本參考書籍裡(R視覺化技術 | ggplot2:資料分析與圖表技術 )找到。我這裡更多的摘取一些我比較常用的圖表進行講解

1、簡單柱形圖+文字(單一變數)
2、分面柱形圖(facet_wrap/facet_grid)
3、簇型柱形圖(position=”dodge”)
4、堆積柱形圖(需要先新增百分比,再對百分比的變數做柱形圖)
5、餅圖、極座標圖
6、多重線性圖

在作圖之前,首先講一下ggplot2的侷限。

ggplot2最大的侷限是,它基本不支援雙座標圖和餅圖。即使能做這些圖形,也要很多設定,做起來非常繁瑣。
按我個人理解,這個侷限的根源與ggplot2開發者Hadley本身的審美習慣以及分析習慣脫不了關係。具體請看他在stackoverflow的這一段

問答

It’s not possible in ggplot2 because I believe plots with separate y scales (not y-scales that are transformations of each other) are fundamentally flawed.

大神有技術就能任性。即使一堆人在他那回復下面各種求雙座標。。不知道Hadley現在有沒有改變主意,把雙座標列為ggplot2的下一個更新點。但是如果你想畫雙座標圖或者餅圖,至少經個人的實踐,這些都是比較困難的,設定繁瑣而且不美觀。要麼選擇用excel完成,要麼聽大神的話,用分面圖(facet)或者柱形圖代替,會更加省事一些。

所以,在瞭解以下常用圖形前,我們需要記住,ggplot2不是萬能的,它雖然能做出非常美觀的圖表,但是總有一些圖不能做,因此多個工具結合使用是非常必要的。

在知道以上前提下,我們以ggplot2自帶的diamonds資料集為基礎,結合dplyr/tidyr的應用,介紹一下常用圖形的畫法。

然後來講一下除了雙座標圖和餅圖以外,ggplot2可以支援的常用圖形的畫法。資料的話,我們使用ggplot2自帶的資料包diamonds

首先定義一下

相關推薦

R語言ggplot2精細化繪圖——實用商業化圖表繪圖

3、常用的商業用圖 接下來分享一下我在這次作圖過程中,最常用的幾個圖形的程式碼。首先宣告,這些圖形的進一步做法以及變形,基本都可以在這兩本參考書籍裡(R視覺化技術 | ggplot2:資料分析與圖表技術 )找到。我這裡更多的摘取一些我比較常用的圖表進行講解 1、簡單柱形圖+文字(單一變數) 2、分面柱

R語言時間的轉化

origin 從數據 需要 code mat 時間 for 忘記 clas 一般使用R從數據庫導出來的時間數據一般都不是我們能看的懂的(具體是什麽格式的我也忘記了),需要做如下轉化 1 as.Date(time,origin = ‘1970-01-01‘) 最近從網上爬

R語言as.Date出現NA值

日期格式 -1 技術分享 log 解決辦法 .com 大寫 出現 data > head(as.Date(data$日期,‘%y%M%D‘))[1] NA NA NA NA NA NA data日期格式如下: 解決辦法: > head(as.Date(da

R語言隨機抽樣(sample函數)

.cn png 函數 -1 數據集 img image 如果 一個數 如果想從一堆數據集中隨機抽出一個數,用sample函數就能實現,代碼展示如下: forehead<-c(249,189,128,111,184,233,313,120,151,196,135,

R語言提取路徑中的文件名字符串(basename函數)

lena art star filename div base none gpo highlight 假設存在路徑C:/coverage/Homo_sapiens.sort.add_exon1_coverage.txt,欲提取Homo_sapiens.sort.add_ex

R語言常用統計一些方法代碼

1.5 憑據 alter con blank () 紐約 理論 nbsp 理論漫衍依賴於若幹未知參數時Kolmogorov-Smirnov 檢討ks.test()例一 對一臺設備舉辦壽命檢討,記錄十次無妨礙操縱時間,並按從小到大的序次分列如下,用ks檢討要領檢討此設備無妨礙

R語言時間序列處理介紹--A股財報資料處理案例

本文以處理A股財務報表為例,介紹了將資料轉換成時間序列後在進行處理的一些方法和思路。將會用到xts,lapply,do.call等資料結構和函式。 1、 簡介 我們從各個途徑獲得了個股的財務報表原始資料後,還需要對資料做一些處理,以便後續指標計算和使用。舉個簡單的例子,

R語言畫樹圖

原始資料長這樣: “iyear”表示年份;“nkill”表示死亡人數;“region”表示地區;“總計”表示某年份死亡總人數;nkii裡的缺失資料自動按“0”運算。 資料儲存在名為“ljs”的csv格式裡。 應提前下載好treemap包,先介紹treemap函式

R語言因子與字串的互轉

在匯入大批量資料時,如果沒有顯式地指定“stringsAsFactors = FALSE”,預設會將所有的字串轉換為因子,導致資料處理速度較慢。 示例資料如下: name,math,english,sex,year "yiifaa",65,68,"M",

R語言缺失值的處理

一.什麼是缺失值,NA與NULL的區別 (1)NA表示資料集中的該資料遺失、不存在。在針對具有NA的資料集進行函式操作的時候,該NA不會被直接剔除。如x<-c(1,2,3,NA,4),取mean(x),則結果為NA,如果想去除NA的影響,需要顯式告知

R語言生成正態分佈資料生成--rnorm,dnorm,pnorm,qnorm

norm是正態分佈,前面加r表示生成隨機正態分佈的序列,其中rnorm(10)表示產生10個數;給定正太分佈的均值和方差, Density(d), distribution function§, quantile function(q) and random® generation

R語言實現文字分析例項(基礎篇)

#1載入軟體包: #1.1資料欲處理包: #Snowball(處理帶空格的語句) #rJava(rmmseg4j的支援包) #rmmseg4j(處理中文的分詞,把不帶空格的分為帶空格的。) #1.2文字分析包: #tm #資料處理## library (RODBC) excel_file <- od

R語言自定義函式

R語言系列:自定義function 在用R語言做各種事物時,使用者自定義函式是不可或缺的。這期來講講如何自定義R的function。首先要介紹的是function的基本框架: myfunction <- function(arg1, arg2, .

R語言“cannot open the connection”的解決辦法

在R語言的實踐中,讀入資料檔案幾乎是必須的操作,但沒有設定好工作空間的位置,將會提示如下錯誤: Error in file(file, "rt") : cannot open the connection In addition: Warning mess

R語言再談REmap包

之前寫過一篇關於Remap的文章,原文連結為:http://blog.csdn.net/wzgl__wh/article/details/53108754 但有許多網友都存在不同的問題,在我的微信公眾

R語言64位作業系統讀取excel檔案方法總結

首先嚐試的是RODBC,不過過程相當不順利 我電腦上安裝的是office 2003,ODBC資料來源裡面找不到excel的驅動程式 原因是office是32為版本,安裝的驅動程式無法在64位的win7上使用。 執行c:\windows\sysWOW64\odbc

R語言用簡單的文字處理方法優化我們的讀書體驗

2)從趨勢來說,人人都會程式設計會成為更廣範圍內的一個硬要求 這裡有一些暢想: 從文字處理的角度,當我們要背單詞時,為什麼不能找一部美劇或電影的字幕,匯入R裡面,然後匹配一下雅思託福詞彙,或者單詞本,把要背的單詞所在的段落全部選出來閱讀?(靈感來源:書《單詞社交網路》) 然後以前那些編寫彙總集、梳理

R語言文字(字串)處理與正則表示式

這兩個函式返回向量水平的匹配結果,不涉及匹配字串的詳細位置資訊。 grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE, fixed = FALSE, useBytes =FALSE, invert = FALSE) grepl

R語言如何在一張圖上畫多個填色等值線圖

  在R語言:填色等值線圖及其色標(color bar)設定中我們介紹了filled.contour函式的用法,它可以很方便的繪製帶色標的填色等值線圖。但是我們平時可能更多的需要將多個填色圖放在同一張圖上(如下圖所示),這種圖該如何繪製?   相比R語言:填色等值線圖及其

R語言我寫的一個數據視覺化的函式,散點圖和線性迴歸趨勢線及公式

在做專案的時候,發現需要多次繪製散點圖和圖例,以及計算線性迴歸的擬合公式和R2,為了方便處理,特編寫了這個函式,希望對大家有所幫助。 也歡迎大家提出報給的改進建議或者更多的需求組合。具體的視覺化函式如下。 其中,data.xts是tidy的時間資料集,呼叫時只需要給出time和lie這2個變數,lie的格式