View source: R/GSD_functions.R
gftplot | R Documentation |
This function displays the absolute values of the graph Fourier coefficients vs the eigenvalues.
gftplot(graph, signal = NULL, K = NULL, size = 1, plot=TRUE)
graph |
an igraph graph object with vertex attributes of coordinates |
signal |
specifies a signal for the graph Fourier transform.
When |
K |
specifies the number of frequency components. |
size |
specifies point size. |
plot |
specifies whether plot is displayed. |
This function displays the absolute values of the graph Fourier coefficients vs the eigenvalues for signal
.
The red color denotes the nonnegative graph Fourier coefficients, and the blue color indicates the negative graph Fourier coefficients.
If plot=TRUE
, plot of the absolute values of the graph Fourier coefficients vs the eigenvalues for signal
over a graph using package ggplot2.
If plot=FALSE
, a list with components:
absgFCoeffs |
the absolute values of the graph Fourier coefficients in decreasing order. |
eigenvalues |
the eigenvalues according to the absolute values of the graph Fourier coefficients. |
gsignal
, gfdecomp
.
#### example : composite of two components having different frequencies
## define vertex coordinate
x <- y <- seq(0, 1, length=30)
xy <- expand.grid(x=x, y=y)
## weighted adjacency matrix by Gaussian kernel
## for connecting vertices within distance 0.04
A <- adjmatrix(xy, method = "dist", 0.04)
## signal
# high-frequency component
signal1 <- rep(sin(12.5*pi*x - 1.25*pi), 30)
# low-frequency component
signal2 <- rep(sin(5*pi*x - 0.5*pi), 30)
# composite signal
signal0 <- signal1 + signal2
# noisy signal with SNR(signal-to-noise ratio)=5
signal <- signal0 + rnorm(900, 0, sqrt(var(signal0) / 5))
# graph with signal
gsig <- gsignal(vertex = cbind(xy, signal), edge = A, edgetype = "matrix")
# display a signal over graph
gplot(gsig, size=3)
# display of absolute values of the graph Fourier coefficients vs the eigenvalues
# for signal
gftplot(gsig)
gftplot(gsig, K=5, size=3)
out <- gftplot(gsig, K=5, plot=FALSE)
names(out)
## signal3
# high-frequency component
signal11 <- c(outer(sin(6*pi*x - 0.5*pi), sin(6*pi*y - 0.5*pi)))
# low-frequency component
signal22 <- c(outer(sin(2*pi*x - 0.5*pi), sin(2*pi*y - 0.5*pi)))
# composite signal
signal00 <- signal11 + signal22
# noisy signal
signal3 <- signal00 + rnorm(900, 0, sqrt(var(signal00) / 5))
# display signal3 over graph
gplot(gsig, signal=signal3, size=3)
# display of absolute values of the graph Fourier coefficients vs the eigenvalues
# for signal3
gftplot(gsig, signal=signal3)
gftplot(gsig, signal=signal3, K=10, size=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.