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

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

2019-02-13    來源:raincent

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

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

 

 

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

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

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

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

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

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

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

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

 

 

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

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

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

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

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

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

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

bbplot 軟件包有什么用?

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

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

將其保存為一個函數(shù)很明顯是簡化我們生活的第一要務(wù)。

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

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

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

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

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

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

 

 

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

為什么要做一個「食譜」?

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

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

 

 

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

我們希望簡化這些事情,但保留腳本帶來的自由和控制能力也很重要。

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

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

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

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

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

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

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

團(tuán)隊其他部分的同事的積極反饋讓我們開發(fā)了一個為期六周的內(nèi)部課程,以讓人們盡快了解使用 R 的基本知識以及上手使用 bbplot 和「食譜」來繪制圖表。

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

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

 

 

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

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

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

 

 

接下來呢?讓團(tuán)隊中的每個人為這份「食譜」添加配方并將其提交到 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),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

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

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