Как лучше всего графически визуализировать трехмерную функцию плотности? Как я хотел бы визуализировать ?
Не обязательно, но R
код для этого был бы великолепен.
data-visualization
является частью нашего мандата.
Как лучше всего графически визуализировать трехмерную функцию плотности? Как я хотел бы визуализировать ?
Не обязательно, но R
код для этого был бы великолепен.
data-visualization
является частью нашего мандата.
Ответы:
Ну, есть четыре возможных подхода, которые приходят на ум (хотя я уверен, что их гораздо больше), но в основном вы можете либо построить данные в виде перспективного графика, контурного графика, тепловой карты или, если вы предпочитаете 3-D разброс. plot (который является более или менее перспективным графиком, когда у вас есть значения для всех пар. Вот несколько примеров каждой из них (из хорошо известного трехмерного набора данных ):( x , y )R
Вот два дополнительных графика, которые имеют более приятные черты, чем те, которые были даны ранее. Таким образом, в зависимости от ваших предпочтений будет диктоваться, каким образом вы хотите визуализировать трехмерные наборы данных.
Here is the `R` code used to generate these four mentioned plots.
library(fields)
library(scatterplot3d)
#Data for illistarition
x = seq(-10, 10, length= 100)
y = x
f = function(x, y) { r = sqrt(x^2+y^2); 10 * sin(r)/r }
z = outer(x, y, f)
z[is.na(z)] = 1
#Method 1
#Perspective Plot
persp(x,y,z,col="lightblue",main="Perspective Plot")
#Method 2
#Contour Plot
contour(x,y,z,main="Contour Plot")
filled.contour(x,y,z,color=terrain.colors,main="Contour Plot",)
#Method 3
#Heatmap
image(x,y,z,main="Heat Map")
image.plot(x,y,z,main="Heat Map")
#Method 4
#3-D Scatter Plot
X = expand.grid(x,y)
x = X[,1]
y = X[,2]
z = c(z)
scatterplot3d(x,y,z,color="lightblue",pch=21,main="3-D Scatter Plot")
image.plot()
команда добавила цветную полосу. Кроме того, filled.contour()
создается аналогичный график с цветной полосой, добавленной по умолчанию.
colorRampPalette()
, например, если вы наберете, a = colorRampPalette(c('dark blue','blue','light blue','yellow','orange', 'red','dark red'))
то создаст функцию a
это генерирует дискретное приближение цветового континуума, который проходит через эти цвета. Аргументом a
является целое число, которое определяет разрешение этого дискретного приближения.