Interactive Plotting for Mixed Hidden Markov Model (mhmm)
Function plot.mhmm
plots a directed graph of the parameters of each model
with pie charts of emission probabilities as vertices/nodes.
## S3 method for class 'mhmm' plot(x, interactive = TRUE, ask = FALSE, which.plots = NULL, nrow = NA, ncol = NA, byrow = FALSE, row.prop = "auto", col.prop = "auto", layout = "horizontal", pie = TRUE, vertex.size = 40, vertex.label = "initial.probs", vertex.label.dist = "auto", vertex.label.pos = "bottom", vertex.label.family = "sans", loops = FALSE, edge.curved = TRUE, edge.label = "auto", edge.width = "auto", cex.edge.width = 1, edge.arrow.size = 1.5, edge.label.family = "sans", label.signif = 2, label.scientific = FALSE, label.max.length = 6, trim = 1e-15, combine.slices = 0.05, combined.slice.color = "white", combined.slice.label = "others", with.legend = "bottom", ltext = NULL, legend.prop = 0.5, cex.legend = 1, ncol.legend = "auto", cpal = "auto", main = "auto", withlegend, ...)
x |
A hidden Markov model object of class |
interactive |
Whether to plot each cluster in succession or in a grid.
Defaults to |
ask |
If |
which.plots |
The number(s) of the requested cluster(s) as an integer
vector. The default |
nrow, ncol |
Optional arguments to arrange plots in a grid. Ignored if
|
byrow |
Controls the order of plotting in a grid. Defaults to |
row.prop |
Sets the proportions of the row heights of the grid. The default
value is |
col.prop |
Sets the proportion of the column heights of the grid. The default
value is |
layout |
specifies the layout of vertices (nodes). Accepts a
numerical matrix, a |
pie |
Are vertices plotted as pie charts of emission probabilities? Defaults to TRUE. |
vertex.size |
Size of vertices, given as a scalar or numerical vector. The default value is 40. |
vertex.label |
Labels for vertices. Possible options include
|
vertex.label.dist |
Distance of the label of the vertex from its
center. The default value |
vertex.label.pos |
Positions of vertex labels, relative to
the center of the vertex. A scalar or numerical vector giving
position(s) as radians or one of |
vertex.label.family, edge.label.family |
Font family to be used for
vertex/edge labels. See argument |
loops |
Defines whether transitions back to same states are plotted. |
edge.curved |
Defines whether to plot curved edges (arcs, arrows)
between vertices. A logical or numerical vector or scalar. Numerical
values specify curvatures of edges. The default value |
edge.label |
Labels for edges. Possible options include
|
edge.width |
Width(s) for edges. The default |
cex.edge.width |
An expansion factor for edge widths. Defaults to 1. |
edge.arrow.size |
Size of the arrow in edges (constant). Defaults to 1.5. |
label.signif |
Rounds labels of model parameters to specified number of significant digits, 2 by default. Ignored for user-given labels. |
label.scientific |
Defines if scientific notation should be used to
describe small numbers. Defaults to |
label.max.length |
Maximum number of digits in labels of model parameters. Ignored for user-given labels. |
trim |
Scalar between 0 and 1 giving the highest probability of transitions that are plotted as edges, defaults to 1e-15. |
combine.slices |
Scalar between 0 and 1 giving the highest probability of emission probabilities that are combined into one state. The dafault value is 0.05. |
combined.slice.color |
Color of the combined slice that includes
the smallest emission probabilities (only if argument
|
combined.slice.label |
The label for combined states (when argument
|
with.legend |
Defines if and where the legend of state colors is
plotted. Possible values include |
ltext |
Optional description of (combined) observed states to appear
in the legend. A vector of character strings. See |
legend.prop |
Proportion used for plotting the legend. A scalar between 0 and 1, defaults to 0.5. |
cex.legend |
Expansion factor for setting the size of the font for labels in the legend. The default value is 1. Values lesser than 1 will reduce the size of the font, values greater than 1 will increase the size. |
ncol.legend |
The number of columns for the legend. The default value
|
cpal |
Optional color palette for (combinations of) observed states.
The default value |
main |
Optional main titles for plots. The default |
withlegend |
Deprecated. Use |
... |
Other parameters passed on to |
Helske S. and Helske J. (2019). Mixture Hidden Markov Models for Sequence Data: The seqHMM Package in R, Journal of Statistical Software, 88(3), 1-32. doi:10.18637/jss.v088.i03
build_mhmm
and fit_model
for building and
fitting mixture hidden Markov models; plot.igraph
for plotting
directed graphs; and mhmm_biofam
and mhmm_mvad
for
the models used in examples.
# Loading mixture hidden Markov model (mhmm object) # of the biofam data data("mhmm_biofam") # Plotting only the first cluster plot(mhmm_biofam, which.plots = 1) if (interactive()) { # Plotting each cluster (change with Enter) plot(mhmm_biofam) # Choosing the cluster (one at a time) plot(mhmm_biofam, ask = TRUE) # Loading MHMM of the mvad data data("mhmm_mvad") # Plotting models in the same graph (in a grid) # Note: the plotting window must be high enough! set.seed(123) plot(mhmm_mvad, interactive = FALSE, # automatic layout, legend on the right-hand side layout = layout_nicely, with.legend = "right", # Smaller and less curved edges edge.curved = 0.2, cex.edge.width = 0.5, edge.arrow.size = 0.7, vertex.label.pos = -4 * pi / 5, vertex.label.dist = 5) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.