[ad_1]
ggplot2 sadece R dilinin en popüler veri görselleştirme paketi değil, aynı zamanda bir ekosistemdir. Çok sayıda eklenti paketi, ggplot’a daha kolay değişen eksen etiketlerinden istatistiksel bilgileri otomatik olarak oluşturmaya ve özelleştirmeye kadar her şeyi yapması için ek güç sağlar. . . neredeyse her şey.
İşte bilmeniz gereken bir düzine harika ggplot2 uzantısı.
Kendi coğrafi konumlarınızı oluşturun: ggpackets
Bir ggplot grafiğine birden çok katman ve ince ayar ekledikten sonra, yeniden kullanımı kolay olacak şekilde bu işi nasıl kaydedebilirsiniz? Bir yol, kodunuzu bir işleve dönüştürmektir. Bir diğeri, onu bir RStudio kod parçacığına dönüştürmektir. Fakat ggpackets paketi ggplot dostu bir yolu var: Kendi özel coğrafyanızı yaratın! kullanarak bir değişkende saklamak kadar acısızdır. ggpacket()
işlev.
Aşağıdaki örnek kod, Boston kar yağışı verilerinden bir çubuk grafik oluşturur ve diğer verilerle tekrar kullanmak istediğim birkaç özelleştirme satırına sahiptir. İlk kod bloğu ilk grafiktir:
library(ggplot2)
library(scales)
library(rio)
snowfall2000s <- import("https://gist.githubusercontent.com/smach/5544e1818a76a2cf95826b78a80fc7d5/raw/8fd7cfd8fa7b23cba5c13520f5f06580f4d9241c/boston_snowfall.2000s.csv")
ggplot(snowfall2000s, aes(x = Winter, y = Total)) +
geom_col(color = "black", fill="#0072B2") +
theme_minimal() +
theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line =
element_line(colour = "gray"),
plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5)
) +
ylab("") + xlab("")
Bunu, adı verilen özel bir geom’a nasıl dönüştüreceğiniz aşağıda açıklanmıştır. my_geom_col
:
library(ggpackets)
my_geom_col <- ggpacket() +
geom_col(color = "black", fill="#0072B2") +
theme_minimal() +
theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line =
element_line(colour = "gray"),
plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5)
) +
ylab("") + xlab("")
Orijinal grafiğin ilk hariç her şeyi kaydettiğimi unutmayın. ggplot()
özel geom’a kod satırı.
İşte bu yeni coğrafyayı kullanmanın ne kadar basit olduğu:
ggplot(snowfall2000s, aes(x = Winter, y = Total)) +
my_geom_col()
Özel bir ggpackets geom ile oluşturulan grafik.
ggpackets, Doug Kelkhoff’a aittir ve CRAN’da mevcuttur.
Daha kolay ggplot2 kodu: ggblanket ve diğerleri
ggplot2 inanılmaz derecede güçlü ve özelleştirilebilir, ancak bazen bu bir karmaşıklık pahasına gelir. Birkaç paket, ggplot2’yi düzene sokmayı amaçlar, böylece yaygın veri görselleştirmeleri ya daha basit ya da daha sezgiseldir.
Hangi geomları ne için kullanacağınızı unutmaya meyilliyseniz, şunu tavsiye ederim. bebek battaniyesi bir deneme. Paketle ilgili en sevdiğim şeylerden biri, col ve dolgu estetiğini tek bir kol estetiğinde birleştirmesi, bu nedenle artık kullanıp kullanmamamı hatırlamam gerekmiyor. scale_fill_
veya scale_colour_
işlev.
Bir başka ggblanket avantajı: gg_col()
veya gg_point()
özelleştirme seçeneklerini dahil et fonksiyonların kendi içinde ayrı katmanlar gerektirmek yerine. Bu da şunun gibi şeyleri görmek için yalnızca bir yardım dosyasına bakmam gerektiği anlamına geliyor. pal
bir renk paleti tanımlamak içindir ve y_title
birden fazla ayrı işlev için yardım dosyaları aramak yerine y ekseni başlığını ayarlar. ggblanket benim için kolaylaştırmayabilir hatırlamak tüm bu seçenekler, ancak daha kolay bulmak.
Ggblanket ile Palmer penguenleri veri setinden bir histogramın nasıl oluşturulacağı aşağıda açıklanmıştır (örnek paket web sitesinden alınmıştır):
library(ggblanket)
library(palmerpenguins)
penguins |>
gg_histogram(x = body_mass_g, col = species)
Ggblankets ile oluşturulan histogram.
Sonuç hala bir ggplot nesnesidir, yani geleneksel ggplot2 koduyla katmanlar ekleyerek onu özelleştirmeye devam edebilirsiniz.
ggblankets David Hodge’a aittir ve CRAN’da mevcuttur.
Diğer bazı paketler de ggplot2’yi basitleştirmeye ve varsayılanlarını değiştirmeye çalışır. ggchart’lar. Basitleştirilmiş işlevleri, aşağıdaki gibi bir sözdizimi kullanır:
library(ggcharts)
column_chart(snowfall2000s, x = Winter, y = Total)
Bu tek kod satırı, oldukça iyi bir varsayılan artı otomatik olarak sıralanan çubuklar sağlar (bunu kolayca geçersiz kılabilirsiniz).
ggcharts ile oluşturulan çubuk grafik, çubukları değerlere göre otomatik olarak sıralar.
Daha fazla ayrıntı için InfoWorld ggcharts eğitimine veya aşağıdaki videoya bakın.
Basit metin özelleştirme: ggeasy
gıcık dataviz’inizin “ana” kısmını, yani çubuk/nokta/çizgi boyutları, renkler, siparişler vb. etkilemez. Bunun yerine, tüm mesele, etiketler ve eksen biçimlendirmesi gibi çizimlerin etrafındaki metni özelleştirmekle ilgilidir. Tüm ggeasy işlevleri ile başlar easy_
bu nedenle, evet, onları RStudio otomatik tamamlama özelliğini kullanarak bulmak kolaydır.
Bir arsa başlığını ortalamanız mı gerekiyor? easy_center_title()
. X ekseni etiketlerini 90 derece döndürmek mi istiyorsunuz? easy_rotate_labels(which = "x")
.
InfoWorld ggeasy eğitiminde veya aşağıdaki videoda paket hakkında daha fazla bilgi edinin.
ggeasy Jonathan Carroll ve diğerleri tarafından yazılmıştır ve CRAN’da mevcuttur.
Çizimlerinizdeki öğeleri vurgulayın: gghighlight
Bazen bir grafikteki belirli veri noktalarına dikkat çekmek istersiniz. Bunu kesinlikle yalnızca ggplot ile yapabilirsiniz, ancak gghighlight kolaylaştırmayı amaçlamaktadır. sadece şunu ekle gghighlight()
bir koşulla birlikte işlev görür. Örneğin, toplam kar yağışı 85 inçten fazla olan kışlar anlattığım hikaye için önemliyse, şunu kullanabilirim: gghighlight(Total > 85)
:
library(gghighlight)
ggplot(snowfall2000s, aes(x = Winter, y = Total)) +
my_geom_col() +
gghighlight(Total > 85)
Toplamları 85’in üzerinde olan grafik gghighliight kullanılarak vurgulanır.
Veya 2011-12 ve 2014-15 gibi belirli yılları çağırmak istersem, bunları kendime göre ayarlayabilirim. gghighlight()
şart:
ggplot(snowfall2000s, aes(x = Winter, y = Total)) +
my_geom_col() +
gghighlight(Winter %in% c('2011-12', '2014-15'))
gghighlight, Hiroaki Yutani’ye aittir ve CRAN’da mevcuttur.
Temalar veya renk paletleri ekleyin: ggthemes ve diğerleri
ggplot2 ekosistemi, temalar ve renk paletleri eklemek için bir dizi paket içerir. Muhtemelen hepsine ihtiyacınız olmayacak, ancak ilgi çekici bulduğunuz temalara veya paletlere sahip olanları bulmak için bunlara göz atmak isteyebilirsiniz.
Bu paketlerden birini kurduktan sonra, yerleşik bir ggplot2 teması veya paletini kullandığınız şekilde genellikle yeni bir tema veya renk paleti kullanabilirsiniz. İşte bir örnek ggthemes paketi solarize tema ve renk körü paleti:
library(ggthemes)
ggplot(penguins, aes(x = bill_length_mm, y = body_mass_g, color = species)) +
geom_point() +
ggthemes::theme_solarized() +
scale_color_colorblind()
Bir renk körü paleti ve ggthemes paketinden solarize tema kullanarak dağılım grafiği.
ggthemes Jeffrey B. Arnold ve diğerlerine aittir ve CRAN’da mevcuttur.
Dikkate alınması gereken diğer tema ve palet paketleri:
ggsci gibi “bilimsel dergilerden, veri görselleştirme kitaplıklarından, bilim kurgu filmlerinden ve TV şovlarından esinlenen” ggplot2 renk paletlerinin bir koleksiyonudur. scale_fill_lancet()
ve scale_color_startrek()
.
hrbrthemes tipografiye odaklanan popüler bir tema paketidir.
ggthemr diğerlerinden biraz daha az bilinir, ancak aralarından seçim yapabileceğiniz çok sayıda temaya ve bunu kolaylaştıran bir GitHub deposuna sahiptir. temalara göz at ve nasıl göründüklerini görün.
bbplot tek bir teması var, bbc_style()
BBC’nin yayına hazır stilinin yanı sıra yayın için bir arsa kaydetmek için ikinci bir işlev, finalise_plot()
.
paletleyici düzinelerce ayrı R palet paketinden paletleri tek bir tutarlı arayüzle bir araya getiren bir meta pakettir. Ve bu arayüz, ggplot kullanımı için özel olarak aşağıdaki gibi bir sözdizimi ile işlevler içerir: scale_color_paletteer_d("nord::aurora")
. Burada nord
orijinal mi palet paketi isim, aurora
özel mi palet isim ve _d
bu paletin gizli değerler (sürekli değil) için olduğunu belirtir. paletleyici ilk başta biraz bunaltıcı olabilir, ancak neredeyse kesinlikle size hitap eden bir palet bulacaksınız.
kullanabileceğinizi unutmayın hiç ggplot ile R renk paleti, ggplot’a özgü renk skala işlevleri olmasa bile, ggplot’un manuel skala işlevleri ve aşağıdaki gibi renk paleti değerleri ile scale_color_manual(values=c("#486030", "#c03018", "#f0a800"))
.
ggplot2 metnine renk ve diğer stiller ekleyin: ggtext
bu ggtext paketi, bir arsa içindeki metne stiller ve renkler eklemek için markdown benzeri sözdizimi kullanır. Örneğin, metni çevreleyen alt çizgiler italik ekler ve metnin etrafındaki iki yıldız, kalın stil oluşturur. Bunun ggtext ile düzgün çalışması için paketin element_markdown()
işlevi de bir ggplot temasına eklenmelidir. Sözdizimi, metne uygun markdown stilini eklemektir. ve sonra Ekle element_markdown()
temanın unsurunaörneğin bir alt başlığı italik yapmak için:
library(ggtext)
ggplot(snowfall2000s, aes(x = Winter, y = Total)) +
my_geom_col() +
labs(title = "Annual Boston Snowfall", subtitle = "_2000 to 2016_") +
theme(
plot.subtitle = element_markdown()
)
ggtext Claus O. Wilke’ye aittir ve CRAN’da mevcuttur.
Belirsizliği iletmek: ggdist
ggdist veri dağılımını ve belirsizliği görselleştirmek için geom’ler ekler, yağmur bulutu grafikleri gibi grafikler ve aşağıdaki gibi yeni geom’larla logit nokta grafikleri oluşturur stat_slab()
ve stat_dotsinterval()
. İşte ggdist web sitesinden bir örnek:
library(ggdist)
set.seed(12345) # for reproducibility
data.frame(
abc = c("a", "b", "b", "c"),
value = rnorm(200, c(1, 8, 8, 3), c(1, 1.5, 1.5, 1))
) %>%
ggplot(aes(y = abc, x = value, fill = abc)) +
stat_slab(aes(thickness = stat(pdf*n)), scale = 0.7) +
stat_dotsinterval(side = "bottom", scale = 0.7, slab_size = NA) +
scale_fill_brewer(palette = "Set2")
ggdist paketi ile oluşturulan yağmur bulutu grafiği.
Kontrol et ggdist web sitesi tüm ayrıntılar ve daha fazla örnek için. ggidst, Matthew Kay’a aittir ve CRAN’da mevcuttur.
ggplot2’ye etkileşim ekleyin: arsa ve ggiraf
Grafikleriniz web’de gidiyorsa, etkileşimli olmalarını, fareyi bir nokta, çizgi veya çubuğun üzerine getirdiğinizde dizileri açıp kapama ve temel verileri görüntüleme gibi özellikler sunmasını isteyebilirsiniz. Hem çizim hem de ggiph, ggplot’ları etkileşimli HTML widget’larına dönüştürür.
kurnazcaPlotly.js JavaScript kitaplığının bir R sarmalayıcısı olan , kullanımı son derece basittir. Tek yapmanız gereken son ggplot’unuzu paketin içine yerleştirmek. ggplotly()
işlev ve işlev, planınızın etkileşimli bir sürümünü döndürür. Örneğin:
library(plotly)
ggplotly(
ggplot(snowfall2000s, aes(x = Winter, y = Total)) +
geom_col() +
labs(title = "Annual Boston Snowfall", subtitle = "2000 to 2016")
)
plotly, ggpackets ve gghighlights dahil olmak üzere diğer uzantılarla çalışır. çizim grafikleri her zaman statik bir sürümde görünen her şeyi içermez (örneğin, bu yazıdan itibaren ggplot2 altyazılarını tanımıyordu). Ancak hızlı etkileşim için paketi yenmek zor.
Plotly kitaplığının ayrıca ggplot ile ilgili olmayan bir işlevi olduğunu unutmayın, plot_ly()
ggplot’unkine benzer bir sözdizimi kullanan qplot()
:
plot_ly(snowfall2000s, x = ~Winter, y = ~Total, type = "bar")
[ad_2]
Kaynak : https://www.infoworld.com/article/3667496/12-ggplot-extensions-for-snazzier-r-graphics.html#tk.rss_all