knitr::include_graphics ("C:\\Users\\HP 450 G6\\Desktop\\emoji_gorsel.jpg")
Japonca’da resim anlamındaki ‘e’ (絵) harfi ile karakter, harf anlamlarında olan ‘moji’ (文字) kelimesinin birleşiminden emoji kavramı oluşmuştur. Emoji, duyguları ifade etmeye kolaylık sağlayan yüz şekilleri ile bazı kavramları veya durumları anlatmada kullanılan doğa, hayvan, yiyecek-içecek, hava durumu, bina, spor, bayrak gibi küçük resimler (görsel simgeler) olarak tanımlanmaktadır.
- emojifont() paketi yüklenir. Paketi aktif hale getirmek için kütüphaneden çağırılır. install.packages(“emojifont”)
library(emojifont)
## Warning: package 'emojifont' was built under R version 4.2.3
Emojiyi kullanmak için karşılık gelen unicode’u kullanmamız gerekir. Emoji unicode’u ‘search_emoji()’ foksiyonu ile bulunabilir. search_emoji() fonksiyonunu 2 şekilde kullanabiliriz. Örnek üzerinden anlayalım.
İlk örneğimizde ‘search_emoji(’heart’)’ aratıldığında kalp ifadesi barındıran kelimeler gelir. Yani içinde heart barındıran tüm emojilerin ismi çıkar.
search_emoji('heart')
## [1] "heart_eyes" "kissing_heart"
## [3] "heart_eyes_cat" "couple_with_heart_woman_man"
## [5] "couple_with_heart" "couple_with_heart_woman_woman"
## [7] "couple_with_heart_man_man" "heart"
## [9] "yellow_heart" "green_heart"
## [11] "blue_heart" "purple_heart"
## [13] "black_heart" "broken_heart"
## [15] "heavy_heart_exclamation" "two_hearts"
## [17] "revolving_hearts" "heartbeat"
## [19] "heartpulse" "sparkling_heart"
## [21] "gift_heart" "heart_decoration"
## [23] "hearts"
emoji(search_emoji('heart'))
## [1] "😍" "😘" "😻" "💑" "💑" "👩❤️👩" "👨❤️👨" "❤️" "💛"
## [10] "💚" "💙" "💜" "🖤" "💔" "❣️" "💕" "💞" "💓"
## [19] "💗" "💖" "💝" "💟" "♥️"
İkinci örnekte ise ‘emoji(search_emoji(’heart’))’ fonksiyonu, emoji olarak heart barındıran emojileri getirir.
Birinci örnekte yazılı halleri, ikinci örnekte emoji halleri çağırılır.
Bir örnek üzerinden uygulama yapalım. Uygulamayı yapacak herkeste sayıların aynı olamabilmesi için ‘set.seed()’ komutu çalıştırılır. Bu sayede aynı rastgele sayı dizisi üretilir. ‘set.seed(123)’ komutundan sonra üretilen sayı dizisi her seferinde aynı sonucu verecektir. x için normal dağılıma sahip 20 sayı üretilir. y için de yine ‘set.seed(321)’ komutu ile başlanır ve normal dağılıma sahip 20 sayı üretilir.
R’de text fonksiyonunda family parametresi, metin etiketlerinde kullanılacak yazı tipi ailesini belirtir. Örneğin, “serif”, “sans” veya “mono” gibi standart yazı tipi ailelerinden birini veya özel olarak yüklenmiş bir yazı tipi ailesini seçebilirsiniz. ‘family=’EmojiOne’’ ifadesi, ‘EmojiOne’ adında bir yazı tipi ailesi kullanılacağını gösterir. Bu, belirtilen yazı tipi ailesinin sisteminizde yüklü ve R tarafından destekleniyor olması gerektiği anlamına gelir.
Eğer ‘EmojiOne’ yazı tipi ailesi sisteminizde yüklü değilse veya R tarafından tanınmıyor ise, text fonksiyonu bu parametreyi göz ardı edebilir veya bir hata mesajı verebilir. R’de kullanılabilir yazı tipi ailelerini görmek için ‘names(pdfFonts())’ komutunu kullanabilirsiniz. Eğer özel bir yazı tipi ailesi kullanmak istiyorsanız, önce ‘extrafont’ paketi gibi araçlarla yazı tipini R’ye yüklemeniz gerekebilir
set.seed(123)
x <- rnorm(20)
class(x)
## [1] "numeric"
set.seed(321)
y <- rnorm(20)
class(y)
## [1] "numeric"
plot(x, y, cex=0)
text(x, y, labels=emoji('smile'), cex=2, col='red', family='EmojiOne')
names(pdfFonts())
## [1] "serif" "sans" "mono"
## [4] "AvantGarde" "Bookman" "Courier"
## [7] "Helvetica" "Helvetica-Narrow" "NewCenturySchoolbook"
## [10] "Palatino" "Times" "URWGothic"
## [13] "URWBookman" "NimbusMon" "NimbusSan"
## [16] "URWHelvetica" "NimbusSanCond" "CenturySch"
## [19] "URWPalladio" "NimbusRom" "URWTimes"
## [22] "ArialMT" "Japan1" "Japan1HeiMin"
## [25] "Japan1GothicBBB" "Japan1Ryumin" "Korea1"
## [28] "Korea1deb" "CNS1" "GB1"
ggplot2 R programlama dilinde veri görselleştirme için kullanılan bir pakettir. Karmaşık grafikleri estetik bir şekilde sunma özelliğine sahiptir.
df <- data.frame(x=x, y=y,
label = sample(c(emoji('nerd_face'), emoji('pouting_woman')), 20, replace=TRUE),
type = sample(LETTERS[24:26], 20, replace=TRUE))
library("ggplot2")
## Warning: package 'ggplot2' was built under R version 4.2.3
ggplot(df, aes(x, y, color=type, label=label)) +
geom_text(family="EmojiOne", size=10)
Bu kodun yaptığı işlemler şunlardır:
1.data.frame: Bir veri çerçevesi (df) oluşturulur. x ve y, muhtemelen daha önce tanımlanmış olan koordinatları temsil eder. label, her bir nokta için bir etiket olarak kullanılacak emojilerden oluşan bir vektör oluşturur. type, renk kodlaması için kullanılacak harflerden oluşan bir vektör oluşturur.
2.sample: c(emoji(‘nerd_face’), emoji(‘pouting_woman’)) ve LETTERS[24:26] ifadeleri, belirtilen elemanlardan rastgele seçim yapmak için kullanılır. replace=TRUE, seçim işleminin tekrarlanabilir olmasını sağlar, yani bir eleman birden fazla kez seçilebilir.
3.library(“ggplot2”): ggplot2 paketini yükler. ggplot: Veri çerçevesini ve estetikleri (aes) tanımlar. x ve y, grafikteki noktaların konumlarını belirler. color=type, her bir type değerine göre farklı renklerde noktalar oluşturur. label=label, her noktaya bir etiket (bu durumda bir emoji) atar.
4.geom_text: Etiketleri (label) metin olarak grafik üzerinde gösterir. family=“EmojiOne” yazı tipi ailesini ve size=10 metin boyutunu belirler.
ggplot() + geom_emoji("alien", color='green') + theme_void()
Burada ggplot() boş bir grafik başlatır. ‘geom_emoji’ ise grafik üzerine emoji ekler. Emoji alien(uzaylı) ve renk green(yeşil) dir. ‘theme_void()’ ifadesi ise, grafikteki tüm eksen etiketlerini ve arka planı kaldırarak sadece emojinin görünmesini sağlar.
Öncelikle remotes paketini yükleyin install.packages(“remotes”)
emoGG paketini GitHub’dan yükleyin remotes::install_github(“dill/emoGG”)
Yükleme işleminden sonra, library(emoGG) komutu ile paketi çağırabilir ve geom_emoji() fonksiyonunu kullanmaya başlayabilirsiniz.
x = seq(0, 2*pi, length=30)
y = sin(x)
ggplot() + geom_emoji('heartpulse', x=y, y=x, size=15)
Bu R kodu, ggplot2 paketini kullanarak bir grafik oluşturur. seq
fonksiyonu ile 0’dan (2)‘ye kadar eşit aralıklı 30 sayı üretir ve bu
sayılar x vektörüne atanır. y vektörü, x’in sinüs değerlerini içerir,
yani y = sin(x) ile hesaplanır. Sonra ggplot() ile boş bir grafik
başlatılır ve ’geom_emoji()’ fonksiyonu ile her bir x, y koordinatına
bir ‘heartpulse’ emojisi yerleştirilir. size=15 parametresi, emojilerin
boyutunu belirler.
set.seed(2024-03-28)
fa <- fontawesome(c('fa-heart', 'fa-car', 'fa-star', 'fa-cloud', 'fa-music'))
df <- data.frame(x=rnorm(20),
y=rnorm(20),
label=sample(fa, 20, replace=T))
ggplot(df, aes(x, y, color=label, label=label)) +
geom_text(family='fontawesome-webfont', size=6)+
xlab(NULL)+ylab(NULL) +
theme(legend.text=element_text(family='fontawesome-webfont'))
Bu R kodu, set.seed fonksiyonu, fontawesome paketi ve ggplot2 paketini kullanarak bir veri görselleştirmesi oluşturur.
set.seed(2024-03-28): Bu komut, rastgele sayı üreticisini başlatmak için bir tohum değeri belirler. Ancak, set.seed fonksiyonu genellikle bir tamsayı değeri alır. Tarih formatında bir değer kullanmak isteniyorsa, önce tarihi bir tamsayıya dönüştürmek gerekir.
‘fa <- fontawesome(c(’fa-heart’, ‘fa-car’, ‘fa-star’, ‘fa-cloud’, ‘fa-music’))’: fontawesome paketinin fa fonksiyonu, belirtilen Font Awesome ikonlarını bir vektör olarak fa değişkenine atar. Bu ikonlar, daha sonra veri çerçevesinde etiket olarak kullanılacaktır.
df <- data.frame(…): Bir veri çerçevesi (df) oluşturur. x ve y, normal dağılımdan rastgele seçilmiş 20 sayı içerir. label, fa vektöründen rastgele seçilmiş 20 ikon etiketi içerir.
ggplot(df, aes(x, y, color=label, label=label)): ggplot2 paketini kullanarak, df veri çerçevesini ve estetik eşlemeleri (aes) tanımlar. color ve label, label sütunundaki ikonlarla eşlenir.
geom_text(family=‘fontawesome-webfont’, size=6): fontawesome-webfont yazı tipi ailesini kullanarak, her x, y koordinatında bir metin (ikon) gösterir ve metin boyutunu 6 olarak ayarlar.
xlab(NULL)+ylab(NULL): x ve y eksen etiketlerini kaldırır.
theme(legend.text=element_text(family=‘fontawesome-webfont’)): Fontawesome metninin yazı tipi ailesini fontawesome-webfont olarak ayarlar. Bu kod çalıştırıldığında, x ve y koordinatlarına sahip noktaları, label sütunundaki Font Awesome ikonlarıyla gösteren bir dağılım grafiği oluşturacaktır. Ancak, fontawesome-webfont yazı tipi ailesi sisteminizde yüklü olmalıdır ve fontawesome paketi R’de yüklenmiş olmalıdır. Eğer bu yazı tipi ailesi veya paket yüklenmemişse, kod hata verecektir.
ggplot() + geom_fontawesome("fa-umbrella"
, color='yellow') + theme_void()
‘Ggplot2’ ile kullanımını kolaylaştırmak için buna karşılık gelen bir ‘geom_fontawesome’ da sağlanmıştır.
Şu anda bu paket Emoji Yazı Tipini ve Fontawesome Tipini desteklemektedir.
EmojiOne.ttf https://github.com/13rac1/emojione-color-font adresinden OpenSansEmoji.ttf, https://github.com/MorbZ/OpenSansEmoji adresinden fontawesome-webfont.ttf, https://github.com/FortAwesome/Font-Awesome adresinden yüklenir.