R語言繪圖:實用腦科學(xué)數(shù)據(jù)可視化包

文章來源于微信公眾號(茗創(chuàng)科技),歡迎有興趣的朋友搜索關(guān)注打月。


導(dǎo)讀

本文整理了R語言繪圖中使用頻率較高的程序包,每個程序包都附載相應(yīng)的參考來源鏈接(鏈接里有實現(xiàn)繪圖的腳本)和下載鏈接。另:茗創(chuàng)科技為大家提供免會員極速下載服務(wù)速缨,需要相應(yīng)程序包的小伙伴可以私信茗創(chuàng)科技周翊工程師杏头,微信號MCKJ-zhouyi或17373158786盈包。

gganimate:在R中繪制動態(tài)圖

gganimate在CRAN上可通過install.packages('gganimate')來安裝。如果要安裝開發(fā)版本醇王,可以直接使用devtools從github安裝:

# install.packages('devtools')

devtools::install_github('thomasp85/gganimate')

示例1 及其代碼

library(ggplot2)

library(gganimate)

ggplot(mtcars, aes(factor(cyl), mpg)) +

? geom_boxplot() +

? # Here comes the gganimate code

? transition_states(

? ? gear,

? ? transition_length = 2,

? ? state_length = 1

? ) +

? enter_fade() +

? exit_shrink() +

? ease_aes('sine-in-out')

示例2及其代碼

library(gapminder)

ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, colour = country)) +

? geom_point(alpha = 0.7, show.legend = FALSE) +

? scale_colour_manual(values = country_colors) +

? scale_size(range = c(2, 12)) +

? scale_x_log10() +

? facet_wrap(~continent) +

? # Here comes the gganimate specific bits

? labs(title = 'Year: {frame_time}', x = 'GDP per capita', y = 'life expectancy') +

? transition_time(year) +

? ease_aes('linear')

IPWboxplot:如何繪制缺失值的箱型圖

IPW.boxplot函數(shù)使用IPW分位數(shù)繪制適用于丟失數(shù)據(jù)修改后的箱線圖呢燥。應(yīng)用該函數(shù)會得到一個統(tǒng)計概括列表。默認(rèn)情況下寓娩,使用該函數(shù)得到經(jīng)過調(diào)整的箱線圖和通過逆概率加權(quán)計算的統(tǒng)計數(shù)據(jù)叛氨。

ggplot2:用圖形語法繪制精美數(shù)據(jù)圖的程序包

ggplot2的核心理念是將繪圖與數(shù)據(jù)分離,數(shù)據(jù)相關(guān)的繪圖與數(shù)據(jù)無關(guān)的繪圖分離棘伴,是按圖層作圖寞埠,有利于結(jié)構(gòu)化思維,同時它保有命令式作圖的調(diào)整函數(shù)焊夸,使其更具靈活性仁连,繪制出來的圖形美觀,同時避免繁瑣細(xì)節(jié)阱穗。

更多創(chuàng)新思路饭冬,可以查看ggplot2中豐富的擴(kuò)展生態(tài)系統(tǒng)使鹅。也能給自己提供更多繪圖靈感。

Corrplot:繪制相關(guān)矩陣可視化圖

Corrplot使用起來非常方便昌抠,并提供了可視化方法患朱、圖形布局、顏色炊苫、文本標(biāo)簽等豐富的繪圖選項裁厅。此外,還提供p值和置信區(qū)間侨艾,以幫助我們確定相關(guān)性的統(tǒng)計顯著性姐直。

handyplots:快速繪制散點圖、Q-Q圖蒋畜、箱型圖声畏、殘差圖、置信區(qū)間等

以下是handyplots程序包的使用手冊姻成,搭配作圖過程使用插龄。

OutliersO3:繪制數(shù)據(jù)集中的異常值O3圖

OutliersO3能夠識別數(shù)據(jù)集變量中所有組合的潛在異常值。下面這張圖是來自Election(2005)數(shù)據(jù)集的四個變量的平行坐標(biāo)圖科展。

# Prepare O3plot results

library(OutliersO3)

data(Election2005)

data <- Election2005[, c(6, 10, 17, 28)]

O3p <- O3prep(data, method=c("HDo", "PCS", "BAC", "adjOut", "DDC", "MCD"))

O3p1 <- O3plotM(O3p)

#Create and add the new highlighting variable to the dataset

ty <- O3p1$outsTable %>% filter(Combination=="c1111")

ouFx <- data

ouFx$oh <- rep(0, nrow(data))

ouFx[ty$Case,"oh"] <- "A"

#Use plotting code from O3plotM

n1 <- ncol(data)

ouFx <- ouFx %>% mutate(alev = ifelse(oh == 0, 0.5, 1))

gp <- ggparcoord(ouFx %>% arrange(oh), scale = "uniminmax", columns=1:n1,

groupColumn="oh", alphaLines="alev") + labs(x = NULL, y = NULL) +

scale_colour_manual(values = c("grey70", "red")) +

theme(plot.title = element_text(size = 18, hjust = 0.5),

legend.position = "none", axis.ticks.y = element_blank(),

axis.text.y = element_blank())

gp

rainbow:條形圖均牢、箱型圖、彩虹圖繪制

該圖來自Han Lin Shang和Rob J Hyndman提出的一些新的工具來可視化功能數(shù)據(jù)和識別功能異常值才睹。利用了穩(wěn)健的主成分分析徘跪、數(shù)據(jù)深度和最高密度區(qū)域。

lattice:高級繪圖系統(tǒng)

lattice繪圖靈感來自于網(wǎng)格圖琅攘,強調(diào)多變量數(shù)據(jù)垮庐。網(wǎng)格圖形函數(shù)從一個可自定義的“設(shè)置”列表中獲取各種圖形參數(shù)(顏色、行類型坞琴、字體等)的默認(rèn)值哨查。

圖片來自于書籍《Lattice: Multivariate Data Visualization with R》Chapter14 Figure14.2

brainGraph:大腦MRI數(shù)據(jù)的圖論分析

brainGraph用于執(zhí)行圖論分析的MRI數(shù)據(jù)。使用Freesurfer分析數(shù)據(jù)(皮層厚度剧辐、體素寒亥、局部褶皺指數(shù)、表面積)荧关、彌散張量束成像數(shù)據(jù)(例如溉奕,來自FSL)和靜息態(tài)fMRI數(shù)據(jù)(例如,來自DPABI)忍啤。brainGraph包含一個用于圖形可視化和數(shù)據(jù)探索圖形用戶界面加勤,以及用于生成有用圖形的幾個函數(shù)。

brainR:繪制大腦影像的‘misc3d’和‘rgl’包

brainR包括使用‘WebGL’,‘rgl’和‘JavaScript’命令創(chuàng)建3D和4D圖像的功能胸竞。這個包依賴于X工具包( X toolkit:‘XTK’)欺嗤。

圖片來自于文章G. Grabner, A. L. Janke, M. M. Budge, D. Smith, J. Pruessner, and D. L. Collins, "Symmetric atlasing and model based segmentation: an application to the hippocampus in older adults", Med Image Comput Comput Assist Interv Int Conf Med Image Comput Comput Assist Interv, vol. 9, pp. 58-66, 2006.R

vioplot:小提琴圖

vioplot是箱圖和核密度圖的組合参萄,該包可以自定義設(shè)置卫枝,可以畫出非常漂亮的小提琴圖。


WVPlots:繪制常見數(shù)據(jù)的可視化圖

WVPlots包是在‘ggplot2’和‘plotly’上實現(xiàn)標(biāo)準(zhǔn)化調(diào)用接口下的數(shù)據(jù)分析圖讹挎。感興趣的圖包括:‘ROC曲線’校赤、增益曲線、帶有邊際分布的散點圖筒溃、帶有邊際密度的條件散點圖马篮、帶有匹配理論分布的箱圖和莖葉圖、以及匹配理論分布的密度圖怜奖。

treemapify:在ggplot2中繪制樹狀圖

在treemap中浑测,每個拼圖代表一個單獨的觀察部分,拼圖的面積與變量成比例歪玲。以“G20峰會”為例迁央,每個拼圖代表一個國家。拼圖面積反應(yīng)了該國的GDP滥崩,而拼圖的填充顏色反應(yīng)了HDI(人類發(fā)展指數(shù))岖圈。還可以將其制作成隨年限變化的動圖,具體請參見參考來源附上的網(wǎng)址钙皮。

gplots:繪制可視化數(shù)據(jù)的各種R編程工具

gplots包含繪制數(shù)據(jù)的各種R編程工具蜂科,如計算和繪制局部平滑的匯總函數(shù)(‘bandplot’,‘wapply’)短条,標(biāo)準(zhǔn)繪制的增強版本(‘barplot2’导匣,‘boxplot2’,‘heatmap.2’茸时,‘smartlegend’)逐抑,顏色設(shè)置(‘col2hex’,‘colorpanel’屹蚊,‘redgreen’厕氨,‘greenred’,‘bluered’汹粤,‘redblue’命斧,‘rich.colors’),計算和繪制二維數(shù)據(jù)匯總(‘ci2d’嘱兼,‘hist2d’)国葬, 回歸診斷圖(‘lmplot2’,‘residplot’)等。

圖片來自于文章Robust locally weighted regression and smoothing scatterplots汇四,<加權(quán)回歸和平滑散點圖>接奈。

plotly:基于web的ggplot2交互地圖

通過‘plot .js’創(chuàng)建交互式Web圖形。Plotly的R圖形庫可以制作交互式的通孽、具有出版質(zhì)量的圖形序宦。圖庫中有關(guān)于制作條形圖、散點圖背苦、面積圖互捌、誤差條形圖、直方圖行剂、熱圖秕噪、子圖、多軸和3D(基于WebGL)的圖形示例厚宰。如下:

spacesRGB:標(biāo)準(zhǔn)和用戶自定義的RGB顏色工具

標(biāo)準(zhǔn)RGB包括sRGB腌巾,‘Adobe’RGB,‘ProPhoto’RGB铲觉,BT.709等澈蝙。用戶自定義的RGB空間也是可以的。部分支持ACES顏色工作流备燃。

r2d3:D3繪制可視化圖形的工具

利用D3進(jìn)行數(shù)據(jù)的動態(tài)和交互式的可視化碉克。使用r2d3,需要編寫一個D3腳本并齐,然后使用r2d3()函數(shù)傳遞R數(shù)據(jù)漏麦。例如,利用下面的一個簡單的D3腳本繪制如下圖所示的條形圖(“barchart.js”)况褪。

// !preview r2d3 data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20)

var barHeight = Math.floor(height / data.length);

svg

? .selectAll("rect")

? .data(data)

? .enter()

? .append("rect")

? .attr("width", function (d) {

? ? return d * width;

? })

? .attr("height", barHeight)

? .attr("y", function (d, i) {

? ? return i * barHeight;

? })

? .attr("fill", "steelblue");

ezplot:常見圖表繪制函數(shù)集

使用ezplot可以快速創(chuàng)建演示圖表撕贞,這對于探索性數(shù)據(jù)分析也十分有用。一般情況下测垛,ezplot函數(shù)為x捏膨、group、facet_y和facet_x的重復(fù)類別聚合多個y值食侮。

iheatmapr:可繪制復(fù)雜的号涯、交互式的熱圖

iheatmapr是一個用于繪制復(fù)雜且交互式的熱圖R包,它可以實現(xiàn)沿主熱圖的行或列的子圖添加關(guān)于每一行或每一列的更多信息锯七。雖然已經(jīng)有很多很棒的R包來制作熱圖链快,包括相對簡單的交互式熱圖(heatmaply和d3heatmap)或復(fù)雜的靜態(tài)熱圖(ComplexHeatmap),但iheatmapr能夠讓復(fù)雜的交互式熱圖的繪制變得簡單眉尸。

library(iheatmapr)

data(measles, package = "iheatmapr")

main_heatmap(measles, name = "Measles<br>Cases", x_categorical = FALSE,

? ? ? ? ? ? layout = list(font = list(size = 8))) %>%

? add_col_groups(ifelse(1930:2001 < 1961,"No","Yes"),

? ? ? ? ? ? ? ? ? side = "bottom", name = "Vaccine<br>Introduced?",

? ? ? ? ? ? ? ? ? title = "Vaccine?",

? ? ? ? ? ? ? ? ? colors = c("lightgray","blue")) %>%

? add_col_labels(ticktext = seq(1930,2000,10),font = list(size = 8)) %>%

? add_row_labels(size = 0.3,font = list(size = 6)) %>%

? add_col_summary(layout = list(title = "Average<br>across<br>states"),

? ? ? ? ? ? ? ? ? yname = "summary")? %>%? ? ? ? ? ? ? ?

? add_col_title("Measles Cases from 1930 to 2001", side= "top") %>%

? add_row_summary(groups = TRUE,

? ? ? ? ? ? ? ? ? type = "bar",

? ? ? ? ? ? ? ? ? layout = list(title = "Average<br>per<br>year",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? font = list(size = 8)))

ggplotgui:通過GUI創(chuàng)建ggplot

ggplotgui可通過ggplot_shiny()函數(shù)來創(chuàng)建和優(yōu)化ggplot2圖形域蜗,并能夠產(chǎn)生要求的R代碼巨双。

————————————————

版權(quán)聲明:本文為CSDN博主「茗創(chuàng)科技」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議霉祸,轉(zhuǎn)載請附上原文出處鏈接及本聲明筑累。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市丝蹭,隨后出現(xiàn)的幾起案子慢宗,更是在濱河造成了極大的恐慌,老刑警劉巖半夷,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婆廊,死亡現(xiàn)場離奇詭異迅细,居然都是意外死亡巫橄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門茵典,熙熙樓的掌柜王于貴愁眉苦臉地迎上來湘换,“玉大人,你說我怎么就攤上這事统阿〔室校” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵扶平,是天一觀的道長帆离。 經(jīng)常有香客問我,道長结澄,這世上最難降的妖魔是什么哥谷? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮麻献,結(jié)果婚禮上们妥,老公的妹妹穿的比我還像新娘。我一直安慰自己勉吻,他們只是感情好监婶,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著齿桃,像睡著了一般惑惶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上短纵,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天带污,我揣著相機(jī)與錄音,去河邊找鬼踩娘。 笑死刮刑,一個胖子當(dāng)著我的面吹牛喉祭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雷绢,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼泛烙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了翘紊?” 一聲冷哼從身側(cè)響起蔽氨,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帆疟,沒想到半個月后鹉究,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡踪宠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年自赔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柳琢。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡绍妨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柬脸,到底是詐尸還是另有隱情他去,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布倒堕,位于F島的核電站灾测,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏垦巴。R本人自食惡果不足惜媳搪,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望魂那。 院中可真熱鬧蛾号,春花似錦、人聲如沸涯雅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽活逆。三九已至精刷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蔗候,已是汗流浹背怒允。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留锈遥,地道東北人纫事。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓勘畔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丽惶。 傳聞我的和親對象是個殘疾皇子炫七,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355

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