Plotly, verileri görselleştirmek için kullanılan açık kaynaklı bir veri görselleştirme kütüphanesidir. Plotly, Python, R, MATLAB, JavaScript ve Julia gibi birçok programlama dilini destekler.
Plotly, birçok farklı grafik türü ve stilinde grafikler oluşturmanıza olanak tanır. İnteraktif grafikler, çoklu eksenli grafikler, 3B grafikler ve haritalar gibi birçok farklı grafik türünü destekler. Ayrıca, Plotly, web sayfalarında, Jupyter defterlerinde ve hatta masaüstü uygulamalarında grafikleri göstermek için kullanılabilir.
Plotly ayrıca, verilerinizi birçok farklı veri kaynağından almanıza ve bu verileri grafiklerde görselleştirmenize olanak tanıyan bir veri analizi ve görselleştirme platformudur. Plotly’nin kullanımı oldukça basittir ve kolayca özelleştirilebilir grafikler oluşturmanıza olanak tanır.
#install.packages("plotly") Paketin yüklenmesi
library(plotly)
## Zorunlu paket yükleniyor: ggplot2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
Plotly, interaktif ve yayın kalitesinde grafikler oluşturmanıza olanak tanıyan bir R grafik kütüphanesidir. Bu kütüphaneyle çizgi grafikleri, scatter grafikleri, alan grafikleri, çubuk grafikleri, hata çubuklu grafikler, kutu grafikleri, histogramlar, ısı haritaları, alt grafikler, çoklu eksenler ve 3B (WebGL tabanlı) grafikler gibi birçok farklı grafik türünü oluşturabilirsiniz. Plotly.R ücretsiz ve açık kaynaklıdır ve kaynak kodunu GitHub’da görüntüleyebilir, sorunları bildirebilir veya katkıda bulunabilirsiniz. Grafiklerin oluşturulması, arka planda Plotly.js JavaScript kütüphanesi kullanılarak gerçekleştirilir. Grafikler, R’de ya listeler olarak ya da plotly örnekleri olarak temsil edilebilir ve Plotly.js’ye geçmeden önce JavaScript Nesne Notasyonu (JSON) olarak metin olarak serileştirilir.
Herhangi bir plotly nesnesi için altta yatan veri yapısını görüntülemek için dput(fig) yöntemi kullanılabilir.
Serpilme diyagramı, iki değişken arasındaki ilişkiyi görselleştirmek için kullanılan bir grafik türüdür. Bu grafik, her bir veri noktasını gösteren noktaların (scatter plot) koordinat düzlemindeki dağılımını gösterir.
Serpilme diyagramı, bir değişkenin diğer değişken üzerindeki etkisini göstermek için kullanılabilir.
Bu kod, R’deki plotly kütüphanesini kullanarak iris veri setindeki çanak yaprak uzunluğu (Sepal.Length) ve taç yaprak uzunluğu (Petal.Length) arasındaki ilişkiyi görselleştirmek için bir serpilme diyagramı (scatter plot) oluşturur.
plot_ly() fonksiyonu ile
iris veri seti belirtilir ve
x = ~Sepal.Length ve
y = ~Petal.Length argümanlarıyla çanak
yaprak uzunluğu ve taç yaprak uzunluğu değişkenleri sırasıyla x ve y
eksenlerinde gösterilir. Oluşturulan grafiği görüntülemek için
fig nesnesi oluşturulur ve çağrıldığında
grafiği ekrana basmak için kullanılır.
fig <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length,mode = "markers")
fig
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
Bu kod, iris veri setindeki
Sepal.Length ve
Petal.Length değişkenlerini kullanarak bir
stilize serpilme diyagramı oluşturur.
plot_ly() fonksiyonu kullanılarak, x
eksenine Sepal.Length ve y eksenine
Petal.Length atanır. Ayrıca, noktaların
boyutu, rengi ve kenarlık kalınlığı gibi özelliklerini belirlemek için
marker argümanı kullanılır.
Daha sonra, layout() fonksiyonu
kullanılarak grafiğin başlığı ve x/y eksenlerinin görünümü ayarlanır.
yaxis ve
xaxis argümanlarına
zeroline = FALSE atanarak, her iki eksenin
de sıfır çizgisinin kaldırılması sağlanır.
Son olarak, fig değişkenine
layout özellikleri eklenir ve grafik
görüntülenir.
fig <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length,
marker = list(size = 10,
color = 'green',
line = list(color = 'orange',
width = 2)))
fig <- fig %>% layout(title = 'Özelleştirilmiş Serpilme Diyagramı',
yaxis = list(zeroline = FALSE),
xaxis = list(zeroline = FALSE))
fig
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No scatter mode specifed:
## Setting the mode to markers
## Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
Bu kod, iris veri setindeki
Sepal.Length,
Petal.Length ve
Sepal.Width değişkenlerini kullanarak bir
çizgi ve nokta serileri içeren bir çizgi/nokta diyagramı oluşturur.
İlk olarak, plot_ly() fonksiyonu
kullanılarak x eksenine 1’den
150’ye kadar sayılar atanır. Bu, her bir
çizgi/nokta serisi için x koordinatları sağlayacak bir aralık
oluşturur.
Daha sonra, add_trace() fonksiyonu
kullanılarak, çizgi/nokta serileri tek tek eklenir. Her bir seri için
y argümanına ilgili değişken atanır ve
name argümanı ile bir etiket verilir.
mode argümanı, her bir serinin nasıl
görüntüleneceğini belirler.
İlk add_trace() işlevi, yalnızca bir
çizgi serisi ekler (mode = "lines"),
ikinci add_trace() işlevi, hem bir çizgi
hem de bir nokta serisi ekler
(mode = "lines+markers"), ve son
add_trace() işlevi yalnızca bir nokta
serisi ekler (mode = "markers").
Son olarak, fig değişkenine eklenen tüm
serilerle birlikte, plot_ly() fonksiyonu
tarafından oluşturulan bir çizgi/nokta diyagramı oluşturulur ve
görüntülenir.
fig <- plot_ly(iris, x = c(1:150))
fig <- fig %>% add_trace(y=~iris$Sepal.Length,name="Sepal Length",mode="lines")
fig <- fig %>% add_trace(y=~iris$Petal.Length,name="Petal Length",mode="lines+markers")
fig <- fig %>% add_trace(y=~iris$Sepal.Width,name="Sepal Width",mode="markers")
fig
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
Bu kod, iris veri setindeki
Sepal.Length ve
Petal.Length değişkenlerini kullanarak,
her bir gözlem için x ve y koordinatlarını oluşturur.
color argümanı kullanılarak, her bir
gözlem Species değişkenine göre
renklendirilir.
Böylece, her bir gözlem verisi x ve
y koordinatlarına göre görselleştirilir ve
ayrıca Species değişkeninin değerine göre
renklendirilir.
fig <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length, color = ~Species,
colors = "Set1")
fig
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No scatter mode specifed:
## Setting the mode to markers
## Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
Çizgi grafikleri, zaman serilerini ve değişkenler arasındaki ilişkileri görselleştirmek için kullanılan bir grafik türüdür. Bu grafikler, bir veya daha fazla değişkenin zaman içindeki değişimini veya bir değişkenin başka bir değişkene göre değişimini göstermek için kullanılabilir.
Çizgi grafikleri, birçok farklı disiplinde kullanılır. Örneğin, finansal piyasalardaki hisse senedi fiyatları, endeksler ve döviz kurları gibi verilerin takibinde, bir değişkenin zamana göre nasıl değiştiğini izlemek için kullanılır. Ayrıca meteorolojide, hava sıcaklığı, nem oranı, rüzgar hızı ve yağış miktarı gibi verilerin takibinde kullanılır.
Çizgi grafikleri, bir değişkenin zamana göre nasıl değiştiğini veya bir değişkenin diğer bir değişkene göre nasıl değiştiğini gösterdiği için, veri analizinde çok yararlıdır. Bu grafikler, veriler arasındaki ilişkileri ve trendleri gösterdiği için, gelecekteki eğilimleri tahmin etmek için de kullanılabilir.
Bu kod, diamonds veri setindeki
cut değişkenine göre fiyatın yoğunluk
tahminini hesaplar ve her bir kesim için yoğunluk tahmin eğrilerini
oluşturur. Daha sonra, oluşturulan veri çerçevesi kullanılarak
plot_ly fonksiyonu ile bir çizgi grafiği
oluşturulur. Her bir yoğunluk tahmin eğrisi ayrı bir renk ile kodlanır
ve add_lines işlevi kullanılarak grafiğe
eklenir. Bu grafik, farklı kesimlerin fiyat dağılımının yoğunluğunu
karşılaştırmak için kullanılabilir.
dens <- with(diamonds, tapply(price, INDEX = cut, density))
df <- data.frame(
x = unlist(lapply(dens, "[[", "x")),
y = unlist(lapply(dens, "[[", "y")),
cut = rep(names(dens), each = length(dens[[1]]$x))
)
fig <- plot_ly(df, x = ~x, y = ~y, color = ~cut)
fig <- fig %>% add_lines()
fig
Bar (sütun) grafikleri, kategorik verileri görselleştirmek için kullanılan bir grafik türüdür. Her bir kategoriye ait veriler sütunlar halinde temsil edilir ve sütunların yüksekliği, kategoriye ait veri değerini temsil eder.
Örneğin, bir şirketin farklı bölümlerindeki çalışan sayılarını göstermek için bar grafikleri kullanılabilir. X ekseninde bölümler, Y ekseninde ise çalışan sayısı yer alır. Her bir bölüme ait çalışan sayısı, sütunların yüksekliği ile gösterilir. Bu sayede farklı bölümler arasındaki çalışan sayılarındaki farklılıklar daha kolay bir şekilde görülebilir.
Bar grafikleri ayrıca, farklı zaman aralıklarında elde edilen verilerin karşılaştırılması için de kullanılabilir. Örneğin, bir ürünün farklı yıllardaki satış rakamlarını göstermek için bar grafikleri kullanılabilir. Bu sayede, ürünün satış performansındaki değişimlerin yanı sıra farklı yıllar arasındaki satış farklılıkları da görülebilir.
# Veri seti oluşturma
city <- c("New York", "London", "Tokyo", "Paris")
sales <- c(80, 56, 45, 67)
data <- data.frame(city, sales)
# Sütun grafiği oluşturma
fig <- plot_ly(data, x = ~city, y = ~sales, type = "bar", name = "Total Sales")
# Grafiği görselleştirme
fig <- fig %>% layout(title = "Total Sales by City",
xaxis = list(title = "City"),
yaxis = list(title = "Total Sales"))
fig
Hayvanlar <- c("Zürafa", "Orangutan", "Maymun")
İstanbul_Hayvanat_Bahçesi <- c(20, 14, 23)
Ankara_Hayvanat_Bahçesi <- c(12, 18, 29)
data <- data.frame(Hayvanlar, İstanbul_Hayvanat_Bahçesi, Ankara_Hayvanat_Bahçesi)
fig <- plot_ly(data, x = ~Hayvanlar, y = ~İstanbul_Hayvanat_Bahçesi, type = 'bar', name = 'Ankara_Hayvanat_Bahçesi')
fig <- fig %>% add_trace(y = ~Ankara_Hayvanat_Bahçesi, name = 'İstanbul_Hayvanat_Bahçesi')
fig <- fig %>% layout(yaxis = list(title = 'Count'), barmode = 'group')
fig
fig <- diamonds
fig <- fig %>% count(cut, clarity)
fig <- fig %>% plot_ly(x = ~cut, y = ~n, color = ~clarity)
fig
## No trace type specified:
## Based on info supplied, a 'bar' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#bar
Pasta grafiği (Pie chart) bir veri setindeki farklı kategorilerin
oransal olarak ne kadar yer kapladığını görselleştirmek için kullanılan
bir grafik türüdür. Genellikle yüzde veya frekans oranlarını göstermek
için tercih edilir.
Pasta grafiği, veri setindeki farklı kategorilerin büyüklüklerine göre kesitlere ayrılarak oluşturulur. Kesitlerin alanları, kategorinin toplam veri setindeki oranına göre belirlenir. Pasta grafiği, genellikle veri setindeki kategorilerin sayısı az olduğunda kullanılır. Fazla kategorilerin olduğu durumlarda okunması ve yorumlanması zor hale gelebilir.
Örneğin, bir marketin günlük satışlarında hangi ürünlerin ne kadar satıldığını göstermek için pasta grafiği kullanılabilir. Bu şekilde, ürünlerin satışlardaki oranları hakkında görsel bir anlayış elde edilebilir.
set.seed(123)
grades <- sample(c("AA", "BA", "BB", "CB", "CC", "DC", "DD", "FD", "FF"), size = 50, replace = TRUE)
grades_table <- table(grades)
grades_perc <- round(prop.table(grades_table) * 100, 1)
library(plotly)
colors <- c('#3366CC','#DC3912','#FF9900','#109618','#990099','#0099C6','#DD4477','#66AA00','#B82E2E')
fig <- plot_ly(labels = names(grades_table), values = grades_table, type = "pie",
text = paste0(names(grades_table), "<br>", grades_perc, "%"),
hoverinfo = "text", marker = list(colors = colors))
fig <- fig %>% layout(title = "Öğrenci Not Dağılımı", showlegend = FALSE)
fig
Köpük grafiği (bubble chart), x ve y eksenlerindeki verilerin yanı sıra, her bir noktanın boyutunu da belirten bir veri görselleştirme yöntemidir. Bu grafik türünde her bir nokta, x ve y eksenlerindeki konumuna ek olarak, üçüncü bir değişkene göre farklı boyutlarda gösterilir. Genellikle, noktaların boyutları sayısal bir değişkene karşılık gelir ve noktaların büyüklüğü, bu değişkendeki değerlerin büyüklüğüne göre artar veya azalır.
Plotly’de köpük grafiği oluşturmak için
plot_ly() fonksiyonunu kullanarak
type = "scatter" ve
mode = "markers" argümanlarını
kullanabilirsiniz. Ardından, her bir noktanın boyutunu belirleyen
size argümanını kullanarak her bir
noktanın boyutunu ayarlayabilirsiniz.
Örnek bir plotly köpük grafiği oluşturmak için şu kodu kullanabilirsiniz:
Bu kod, x ve y eksenleri için verileri içeren bir veri çerçevesi
oluşturur ve her bir noktanın boyutunu belirleyen
size değişkenini de içerir. Ardından,
plot_ly() fonksiyonu kullanılarak bu veri
çerçevesi ve type = "scatter" ve
mode = "markers" argümanları kullanılarak
köpük grafiği oluşturulur. Noktaların boyutlarını ayarlamak için
marker argümanı kullanılarak
size ve
sizemode ayarları belirlenir. Son olarak,
layout() fonksiyonu kullanılarak grafiğin
başlığı ve eksen etiketleri belirlenir.
library(plotly)
data <- data.frame(
x = c(1, 2, 3, 4, 5),
y = c(10, 20, 30, 40, 50),
size = c(5, 10, 15, 20, 25)
)
fig <- plot_ly(data, x = ~x, y = ~y, type = "scatter", mode = "markers",
marker = list(size = ~size, sizemode = "diameter"))
fig <- fig %>% layout(title = "Örnek Köpük Grafiği",
xaxis = list(title = "X Ekseni"),
yaxis = list(title = "Y Ekseni"))
fig
Boxplot (Kutu grafiği), veri setinin çeyreklerini, medyanı ve aykırı değerleri görselleştirmek için kullanılan bir grafik türüdür. Kutu grafiği, minimum ve maksimum değerleri, ilk çeyrek (Q1) ve üçüncü çeyrek (Q3) arasındaki aralığı ve medyanı (Q2) gösterir. Ayrıca, kutu grafiği üzerinde aykırı değerler (outliers) de görüntülenebilir.
Bu kod, farklı çeyrek yöntemlerinin (linear, inclusive, exclusive)
kutu plotu grafiği üzerinde nasıl farklı sonuçlar üretebileceğini
gösterir. Veri olarak 1’den 5’e kadar olan sayıların üç farklı çeyrek
yöntemi ile hesaplanan kutu plotları üretilir.
plot_ly() işlevi, “box” tipi kutu plotu
grafiği için kullanılır. add_trace()
işlevi, her bir kutu plotu grafiği için bir iz eklemek için kullanılır.
layout() işlevi, grafiğin başlığını
ayarlamak için kullanılır.
fig <- plot_ly(y = list(1,2,3,4,5), type = "box", quartilemethod="linear", name="Linear Quartile Mode")
fig <- fig %>% add_trace(y = list(1,2,3,4,5), quartilemethod="inclusive", name="Inclusive Quartile Mode")
fig <- fig %>% add_trace(y = list(1,2,3,4,5), quartilemethod="exclusive", name="Exclusive Quartile Mode")
fig <- fig %>% layout(title = "Modifying The Algorithm For Computing Quartiles")
fig
fig <- plot_ly(ggplot2::diamonds, y = ~price, color = ~cut, type = "box")
fig
fig <- plot_ly(ggplot2::diamonds, x = ~cut, y = ~price, color = ~clarity, type = "box")
fig <- fig %>% layout(boxmode = "group")
fig
## Warning: 'layout' objects don't have these attributes: 'boxmode'
## Valid attributes include:
## '_deprecated', 'activeshape', 'annotations', 'autosize', 'autotypenumbers', 'calendar', 'clickmode', 'coloraxis', 'colorscale', 'colorway', 'computed', 'datarevision', 'dragmode', 'editrevision', 'editType', 'font', 'geo', 'grid', 'height', 'hidesources', 'hoverdistance', 'hoverlabel', 'hovermode', 'images', 'legend', 'mapbox', 'margin', 'meta', 'metasrc', 'modebar', 'newshape', 'paper_bgcolor', 'plot_bgcolor', 'polar', 'scene', 'selectdirection', 'selectionrevision', 'separators', 'shapes', 'showlegend', 'sliders', 'smith', 'spikedistance', 'template', 'ternary', 'title', 'transition', 'uirevision', 'uniformtext', 'updatemenus', 'width', 'xaxis', 'yaxis', 'barmode', 'bargap', 'mapType'
Histogram, veri dağılımının görselleştirilmesinde sık kullanılan bir grafik türüdür. Bu grafik türü, veri setindeki ölçümlerin frekans dağılımını göstermek için kullanılır. X ekseninde genellikle veri aralığı belirtilirken, y ekseninde ise o aralıktaki gözlem sayısı veya gözlem yüzdesi gösterilir.
Histogram, özellikle niceliksel verilerin incelenmesinde kullanılır. Örneğin, bir sınıfın öğrencilerinin notlarından oluşan bir veri setindeki notların dağılımını incelemek için histogram kullanılabilir.
Plotly’de histogram oluşturmak için,
plot_ly() fonksiyonu kullanılır ve
type parametresi “histogram” olarak
belirlenir. Veri seti, x parametresi
olarak belirtilir. Ayrıca, nbins
parametresi ile de histogramda kullanılacak kutu sayısı
belirlenebilir.
Örnek bir kodda, iris veri setindeki Sepal Length ölçümlerinin histogramı aşağıdaki gibi oluşturulabilir:
library(plotly)
fig <- plot_ly(data = iris, x = ~Sepal.Length, type = "histogram", nbinsx = 20)
fig <- fig %>% layout(title = "Sepal Length Dağılımı")
fig
Bu kod, iris veri setindeki Sepal Length ölçümlerinin 20 kutulu bir histogramını çizer. X ekseninde ölçüm aralığı ve y ekseninde o aralıktaki gözlem sayısı gösterilir. Grafik başlığı “Sepal Length Distribution” olarak belirlenmiştir.
# Örnek veri seti oluşturma
set.seed(123)
x <- rnorm(1000, mean = 10, sd = 2)
# Histogram oluşturma
fig <- plot_ly(x = x, type = "histogram",
xbins = list(start = min(x), end = max(x), size = 0.5),
marker = list(color = "blue", line = list(color = "black", width = 1)),
opacity = 0.7)
# Grafik düzenleme
fig <- fig %>% layout(title = "Normal Dağılım",
xaxis = list(title = "X"),
yaxis = list(title = "Frequency"))
# Grafik görüntüleme
fig
Bu örnekte, rnorm fonksiyonu
kullanılarak normal bir dağılım oluşturuldu ve oluşturulan veri seti
plot_ly fonksiyonu kullanılarak histograma
dönüştürüldü. Histogramın çizgi rengi ve kalınlığı
marker parametresi kullanılarak
ayarlanırken, şeffaflık opacity
parametresi ile kontrol edildi. Son olarak,
layout fonksiyonu kullanılarak grafik
başlığı ve eksen etiketleri belirtildi ve grafik görüntülendi.
Bu kod R’da Plotly kütüphanesi kullanılarak iki normal dağılıma ait
verilerin histogramlarını aynı grafik üzerinde bindirir ve
barmode argümanı
overlay olarak ayarlandığından
histogramların birbirleri üzerine bindirilmesini sağlar.
alpha argümanı ise histogramların
şeffaflığını belirler.
fig <- plot_ly(alpha = 0.6)
fig <- fig %>% add_histogram(x = ~rnorm(500))
fig <- fig %>% add_histogram(x = ~rnorm(500) + 1)
fig <- fig %>% layout(barmode = "overlay")
fig
fig <- plot_ly(alpha = 0.6)
fig <- fig %>% add_histogram(x = ~rnorm(500))
fig <- fig %>% add_histogram(x = ~rnorm(500) + 1)
fig <- fig %>% layout(barmode = "stack")
fig
Violin plot, veri dağılımlarının şeklini görselleştirmek için kullanılan bir tür grafiktir. Kutu grafiği gibi, temel istatistikleri göstermekle birlikte, verilerin yoğunluğunu da gösterir. Ancak kutu grafiği yerine, bir çekirdek yoğunluğu grafiği kullanılır ve veri yoğunluğunu yansıtmak için ayna simetrik olarak yansıtılmış bir çift violine benzer şekilde çizilir. Violin plot, özellikle büyük veri setlerindeki veri dağılımlarını daha iyi anlamak için kullanışlıdır.
Plotly ile violin plot çizmek için
plot_ly() ve
add_violin() fonksiyonları kullanılabilir.
Veri setinin sayısal sütunlarının belirtilmesi ve gerektiğinde
gruplandırılması gerekir. Ayrıca, violin plotun görünümünü özelleştirmek
için bir dizi ayar kullanılabilir, örneğin kemanın rengi, genişliği,
kenar rengi vb.
Örnek bir violin plot oluşturma kodu aşağıdaki gibidir:
# iris veri seti
fig <- plot_ly(data = iris, y = ~Petal.Width, x = ~Species, type = "violin", box = list(visible = TRUE),
points = "all", jitter = 0.05, spanmode = "soft", scalemode = "width",
marker = list(size = 3, color = "#6baed6"), line = list(color = "#1f78b4"))
fig <- fig %>% layout(title = "Petal Width by Species",
xaxis = list(title = ""),
yaxis = list(title = "Petal Width"))
fig
Contour Plotlar, üç boyutlu bir yüzeyin eşit değerlerini (konturlarını) görselleştirmek için kullanılan bir tekniktir. Bu grafik türü, bir iki boyutlu histogram ile aynı bilgiyi sağlar, ancak daha yumuşak bir görünüm sunar ve verilerin üç boyutlu yüzeylerini daha iyi anlamamıza yardımcı olur.
Plotly’de contour plotlar, 3D yüzey verilerini göstermek için
contour veya
contour3d fonksiyonları kullanılarak
oluşturulabilir.
Örnek olarak, iris veri setindeki Sepal Length ve Sepal Width değişkenleri arasındaki ilişkiyi gösteren bir contour plot oluşturalım:
fig <- plot_ly(z = ~outer(iris$Sepal.Length, iris$Sepal.Width, FUN = Vectorize(function(x,y) dnorm(sqrt(x^2 + y^2), 0, 0.5))), type = "contour")
fig <- fig %>% layout(title = "Sepal Length vs Sepal Width", xaxis = list(title = "Sepal Width"), yaxis = list(title = "Sepal Length"))
fig
x <- rnorm(200)
y <- rnorm(200)
s <- subplot(
plot_ly(x = x, type = "histogram"),
plotly_empty(),
plot_ly(x = x, y = y, type = "histogram2dcontour"),
plot_ly(y = y, type = "histogram"),
nrows = 2, heights = c(0.2, 0.8), widths = c(0.8, 0.2), margin = 0,
shareX = TRUE, shareY = TRUE, titleX = FALSE, titleY = FALSE
)
## Warning: No trace type specified and no positional attributes specified
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No scatter mode specifed:
## Setting the mode to markers
## Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
fig <- layout(s, showlegend = FALSE)
fig
Isı haritaları, 2D bir düzlem üzerindeki verilerin renk skalası ile gösterildiği bir veri görselleştirme tekniğidir. Genellikle, bir matris şeklindeki verilerin görselleştirilmesinde kullanılır. Bu teknikte, her bir hücredeki veri değeri, renk skalasındaki bir renk tonuna karşılık gelir. Böylece, hücrelerin renkleri, verilerin yoğunluklarına göre değişir ve görsel olarak anlamlı bir yapı elde edilir.
Bu kod, 3 satır ve 3 sütundan oluşan rastgele sayılarla doldurulmuş bir
matris oluşturur ve bu matrisi ısı haritası olarak plotly’de gösterir.
Isı haritası, x ve y eksenlerindeki kategorik değişkenlere bağlı olarak
z eksenindeki sayısal verilerin görselleştirilmesini sağlar. Bu örnekte,
x ve y eksenleri sırasıyla “a”, “b” ve “c”, “d”, “e” ve “f” olarak
etiketlenmiştir.
m <- matrix(rnorm(9), nrow = 3, ncol = 3)
fig <- plot_ly(
x = c("a", "b", "c"), y = c("d", "e", "f"),
z = m, type = "heatmap"
)
fig