中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

中了數(shù)據(jù)可視化的毒:BBC如何使用R語(yǔ)言繪制數(shù)據(jù)圖表?

2019-02-13    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

生動(dòng)的圖表能極大地幫助呈現(xiàn)更有信息量的新聞。BBC(英國(guó)廣播公司)近日分享了他們的視覺(jué)與數(shù)據(jù)新聞團(tuán)隊(duì)使用 R 語(yǔ)言繪制新聞圖表的經(jīng)驗(yàn)。為了簡(jiǎn)化流程,他們創(chuàng)建了一個(gè) bbplot 軟件包和一份參考手冊(cè),并也已將它們開(kāi)源。

 

 

過(guò)去一年里,BBC 視覺(jué)與數(shù)據(jù)新聞(Visual and Data Journalism)團(tuán)隊(duì)的數(shù)據(jù)記者已經(jīng)從根本上改變了他們繪制發(fā)表在 BBC 新聞網(wǎng)站上的數(shù)據(jù)圖表的方式。我們將在這篇文章中介紹我們?nèi)绾我约盀楹我褂?R 語(yǔ)言的 ggplot2 軟件包來(lái)創(chuàng)建可直接使用的圖表,我們也會(huì)給出我們的流程和代碼以及分享我們一路上所學(xué)到的東西。

BBC 視覺(jué)與數(shù)據(jù)新聞團(tuán)隊(duì)的數(shù)據(jù)記者已經(jīng)使用 R 來(lái)執(zhí)行復(fù)雜和可重復(fù)的數(shù)據(jù)分析以及構(gòu)建原型一些時(shí)日了。

比如,在獲過(guò)獎(jiǎng)的 NHS 跟蹤項(xiàng)目中,我們使用了 R 來(lái)提取、清洗、清理和探索數(shù)百份電子表格中的數(shù)據(jù),以了解 NHS 目標(biāo)是否遭受了攻擊。當(dāng)我們?cè)?2017 年分析英格蘭和威爾士超過(guò) 800 萬(wàn)住宅物業(yè)交易以便了解扣除了物價(jià)因素的房?jī)r(jià)變化情況時(shí),R 也是我們的首要選擇;該項(xiàng)目去年獲得了皇家統(tǒng)計(jì)學(xué)會(huì)的一個(gè)獎(jiǎng)項(xiàng)。

但當(dāng)涉及到繪制圖表時(shí),情況又不一樣。

我們?cè)褂昧?R(尤其是 R 的數(shù)據(jù)可視化軟件包 ggplot2)來(lái)進(jìn)行數(shù)據(jù)探索,從而讓模式可視化以及幫助我們理解數(shù)據(jù)和尋找故事。但我們沒(méi)有按照 BBC 新聞的圖表風(fēng)格來(lái)構(gòu)建可用于網(wǎng)上發(fā)布的圖表。

為了創(chuàng)建在 BBC 新聞網(wǎng)站上伴隨故事的圖表,我們有兩個(gè)主要選項(xiàng):如果時(shí)間充足,我們可以委托我們的設(shè)計(jì)團(tuán)隊(duì)繪制圖表。如果我們需要快速周轉(zhuǎn),我們會(huì)轉(zhuǎn)而選擇我們的內(nèi)部制圖工具。

在 2018 年的前幾個(gè)月,數(shù)據(jù)團(tuán)隊(duì)中一些充滿好奇心的成員開(kāi)始了實(shí)驗(yàn),深入到了 ggplot2 軟件包內(nèi)部,想要搞清楚我們還需要多少工作才能復(fù)現(xiàn) BBC 的內(nèi)部風(fēng)格。

在去年三月份,我們發(fā)布了第一張從頭至尾都使用 ggplot2 繪制的圖表。

 

 

自那以后,進(jìn)展很快。

比起制圖工具,ggplot2 能提供更多控制和創(chuàng)造性,能讓人不局限于數(shù)量有限的圖表。使用腳本能節(jié)省大量時(shí)間和精力,尤其是在操作需要定期更新的數(shù)據(jù)時(shí)——可重復(fù)性是我們的工作流程的一大關(guān)鍵需求。

簡(jiǎn)而言之,這帶來(lái)了徹底的變革,所以我們很快就將注意力轉(zhuǎn)向了如何最好地管理這種新發(fā)現(xiàn)的能力。

我們需要找到一種收集和共享我們積累的知識(shí)的好方法,并且讓我們整個(gè)團(tuán)隊(duì)都能使用;我們還要開(kāi)發(fā)出一個(gè)簡(jiǎn)單且易于重復(fù)的工作流程,讓團(tuán)隊(duì)在從頭至尾繪制圖表時(shí)有一致性的體驗(yàn)。

在使用 R 制圖時(shí),我們采用了一種雙管齊下的方法:將這些難題的解決方案放入了一個(gè)我們稱(chēng)之為 bbplot 的軟件包以及我們團(tuán)隊(duì)的 R「食譜」——一份 ggplot 參考手冊(cè)。現(xiàn)在我們將它們都開(kāi)源了。

bbplot:https://github.com/bbc/bbplot

R cookbook:https://bbc.github.io/rcookbook/

bbplot 軟件包有什么用?

這個(gè)軟件包的開(kāi)發(fā)目的是處理所有反復(fù)出現(xiàn)的障礙,簡(jiǎn)化在所有圖表中添加對(duì)象的工作流程。

當(dāng)我們剛開(kāi)始使用 R 時(shí),每次繪制圖表時(shí)都必須調(diào)整每個(gè)單獨(dú)的元素以將默認(rèn)的 ggplot 風(fēng)格改成我們內(nèi)部的 BBC 風(fēng)格。

將其保存為一個(gè)函數(shù)很明顯是簡(jiǎn)化我們生活的第一要?jiǎng)?wù)。

我們還有很多類(lèi)似的難題需要搞清楚:如何添加 BBC 標(biāo)識(shí),并且無(wú)論你想要導(dǎo)出的圖表的縱橫比如何,都能有合適的尺寸?如何將圖表標(biāo)題對(duì)齊到左上角?就是這類(lèi)問(wèn)題。

通過(guò)與視覺(jué)與數(shù)據(jù)新聞團(tuán)隊(duì)的設(shè)計(jì)師緊密合作,我們逐一解決了這一問(wèn)題,將解決方案放入了易于重復(fù)使用的函數(shù)中。

下一步是將這些解決方案集中于一處,以提供一致的體驗(yàn)以及讓所有一切都能盡可能簡(jiǎn)單地復(fù)用——這就是 bbplot。

之前我們討論了需要加入到該軟件包中的功能。我們是否應(yīng)該創(chuàng)建制作特定圖表類(lèi)型的函數(shù)?預(yù)選擇條形圖的顏色以匹配我們的設(shè)計(jì)調(diào)色板好不好?

我們抵住了過(guò)于規(guī)范的誘惑,提出了適用于創(chuàng)建圖表時(shí)可能出現(xiàn)的每個(gè)潛在問(wèn)題的普適性解決方案。

對(duì)于這個(gè)軟件包,我們的目標(biāo)是僅包含繪制每張圖表時(shí)所必需的函數(shù),以簡(jiǎn)化工作流程,也不失靈活性——因?yàn)殪`活性是使用 ggplot2 的一大實(shí)在優(yōu)勢(shì)。

 

 

我們想的是,我們?yōu)?ggplot2 默認(rèn)外觀到我們內(nèi)部風(fēng)格的改變而創(chuàng)建的函數(shù) bbc_style() 能夠完成 90% 的工作,之后你可以對(duì)你的圖表進(jìn)行任何額外的調(diào)整,這和其它制圖工具不一樣——只會(huì)給你提供完成的圖表,調(diào)整空間很小。

為什么要做一個(gè)「食譜」?

這個(gè)「食譜」是基于我們團(tuán)隊(duì)對(duì) ggplot2 的集體知識(shí)綜合而成的一份指南。這是一份參考手冊(cè),而不是教程,其中可能不會(huì)告訴你如何用 R 繪制你的第一張圖表,但卻包含了很多有用的小技巧。

我們的想法是,每當(dāng)數(shù)據(jù)團(tuán)隊(duì)的成員解決一個(gè)特定問(wèn)題時(shí)(比如在圖中加入一條曲線箭頭或突出顯示條形圖的一條),都能將代碼加入到這個(gè)「食譜」中,從而節(jié)省你和同事下一次的時(shí)間。

 

 

在創(chuàng)建圖表時(shí),團(tuán)隊(duì)成員可以求助這個(gè)「食譜」,尋找答案和解決方案——比如如何繪制特定類(lèi)型的圖表(如 dumbbell chart)或如何在你的圖中加入文本注釋。另一方面,這個(gè)軟件包可以自動(dòng)處理你繪制每張圖表時(shí)都需要的解決方案——比如添加 BBC 標(biāo)識(shí)。

我們希望簡(jiǎn)化這些事情,但保留腳本帶來(lái)的自由和控制能力也很重要。

我們學(xué)到了什么?

用這種方式處理圖表有很多好處。

我們的重點(diǎn)是創(chuàng)建一個(gè)可重復(fù)的工作流程,這意味著我們無(wú)需在另一個(gè)程序中進(jìn)行最后的潤(rùn)色,就能完全使用 R 創(chuàng)建出盡可能多的圖表,而且將我們的知識(shí)集中到一起能讓這些知識(shí)輕松地傳遞給不太習(xí)慣使用 R 的團(tuán)隊(duì)成員。

R 能夠滿足我們所有的制圖需求嗎?不是的。我們沒(méi)將其用于交互式圖表,因?yàn)?JavaScript 庫(kù) D3 更合適,而且有時(shí)候單獨(dú)使用 Illustrator 等軟件來(lái)調(diào)整注釋比直接使用 R 的工作量少得多。但對(duì)于靜態(tài)圖表,我們發(fā)現(xiàn) R 和 ggplot2 非常有用。

也許最重要的應(yīng)該是團(tuán)隊(duì)合作:通過(guò)將我們的努力匯集一處和分享我們的技能,我們的知識(shí)獲得了極大的增長(zhǎng)。因?yàn)橥七M(jìn)我們對(duì) R 的使用并不是某一個(gè)人獨(dú)自的責(zé)任,而是數(shù)據(jù)團(tuán)隊(duì)很多人共同實(shí)驗(yàn),一起推行的。正因如此,我們收集的知識(shí)才得以快速增長(zhǎng)。

教會(huì)其他人——意料之外的結(jié)果

使用 ggplot2 創(chuàng)建生產(chǎn)可用的圖表的另一個(gè)關(guān)鍵優(yōu)勢(shì)原本并不在我們的必需計(jì)劃中。

團(tuán)隊(duì)其他部分的同事的積極反饋?zhàn)屛覀冮_(kāi)發(fā)了一個(gè)為期六周的內(nèi)部課程,以讓人們盡快了解使用 R 的基本知識(shí)以及上手使用 bbplot 和「食譜」來(lái)繪制圖表。

這個(gè)課程并不能在六次短課中教會(huì)人們有關(guān) R 的一切,但能幫助完全不了解 R 的人熟悉這是什么。我們每周都會(huì)介紹一個(gè)新概念,與他們談?wù)撍樗麄冎赋鏊麄兛梢栽趯?duì)應(yīng)的課程周學(xué)習(xí)的網(wǎng)絡(luò)教程。我們?yōu)檎n程參與者創(chuàng)建了一個(gè) Slack 頻道,他們可以在這里互相討論或?qū)で髱椭?/p>

在這六周之中,參與者會(huì)學(xué)習(xí)如何將數(shù)據(jù)載入 R、不同的數(shù)據(jù)類(lèi)型、使用 tidyverse 軟件包在 R 中進(jìn)行一些非;镜臄(shù)據(jù)操作和分析、對(duì) ggplot2 的介紹。在課程結(jié)束時(shí),他們會(huì)面臨一個(gè)挑戰(zhàn):用他們學(xué)習(xí)到的所有不同的技能、概念和代碼,基于原始數(shù)據(jù)生成基本圖表。

 

 

課程的最后是一場(chǎng)三小時(shí)長(zhǎng)的研討會(huì),主題是 bbplot 軟件包的工作方式以及如何有效使用我們的 R「食譜」。我們發(fā)現(xiàn),為人們提供「食譜」以及他們應(yīng)該在六周的時(shí)間里生成的圖表,并不能人更輕松地學(xué)習(xí) R——但心中有目標(biāo),知道這能在日常工作中提供助益,能讓人更有動(dòng)力去學(xué)習(xí)。

為我們的同事提供課程的一大主要成功在于激勵(lì)了某些參與者繼續(xù)使用 R 以及提升他們的 ggplot2 知識(shí)。

現(xiàn)在,他們很多人已經(jīng)對(duì)某些事情的工作方式和原因有了更好的理解,而不只是復(fù)制我們?yōu)樗麄儨?zhǔn)備的代碼。他們現(xiàn)在已能生成不屬于「食譜」配方的圖表,實(shí)際操作時(shí)所需的數(shù)據(jù)團(tuán)隊(duì)的幫助也越來(lái)越少。

 

 

接下來(lái)呢?讓團(tuán)隊(duì)中的每個(gè)人為這份「食譜」添加配方并將其提交到 GitHub。

原文地址:https://medium.com/bbc-visual-and-data-journalism/how-the-bbc-visual-and-data-journalism-team-works-with-graphics-in-r-ed0b35693535

標(biāo)簽: 代碼 腳本 數(shù)據(jù)分析 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:區(qū)塊鏈,數(shù)字社會(huì)的可信連接

下一篇:特朗普簽署AI計(jì)劃,加速與中國(guó)、加拿大AI競(jìng)賽,爭(zhēng)奪全球領(lǐng)導(dǎo)權(quán)