Function used to plot trajectories
ena.plot.trajectory(
enaplot,
points,
by = NULL,
labels = NULL,
labels.show = c("Always", "Hover", "Both"),
names = NULL,
label.offset = NULL,
label.font.size = enaplot$get("font.size"),
label.font.color = enaplot$get("font.color"),
label.font.family = c("Arial", "Courier New", "Times New Roman"),
shape = c("circle", "square", "triangle-up", "diamond"),
colors = NULL,
default.hidden = F
)
ENAplot
object to use for plotting
dataframe of matrix - first two column are X and Y coordinates, each row is a point in a trajectory
vector used to subset points into individual trajectories, length nrow(points)
character vector - point labels, length nrow(points)
A character choice: Always, Hover, Both. Default: Both
character vector - labels for each trajectory of points, length length(unique(by))
A numeric vector of an x and y value to offset labels from the coordinates of the points
An integer which determines the font size for labels, default: enaplot\$font.size
A character which determines the color of label font, default: enaplot\$font.color
A character which determines font type, choices: Arial, Courier New, Times New Roman, default: enaplot\$font.family
A character which determines the shape of markers, choices: square, triangle, diamond, circle, default: circle
A character vector, that determines marker color, default NULL results in alternating random colors. If single color is supplied, it will be used for all trajectories, otherwise the length of the supplied color vector should be equal to the length of the supplied names (i.e a color for each trajectory being plotted)
A logical indicating if the trajectories should start hidden (click on the legend to show them) Default: FALSE
The ENAplot
provided to the function, with its plot updated to include the trajectories
data(RS.data)
codeNames = c('Data','Technical.Constraints','Performance.Parameters',
'Client.and.Consultant.Requests','Design.Reasoning','Collaboration');
accum = ena.accumulate.data(
units = RS.data[,c("UserName","Condition")],
conversation = RS.data[,c("GroupName","ActivityNumber")],
metadata = RS.data[,c("CONFIDENCE.Change","CONFIDENCE.Pre","CONFIDENCE.Post","C.Change")],
codes = RS.data[,codeNames],
window.size.back = 4,
model = "A"
);
set = ena.make.set(accum);
### get mean network plots
first.game.lineweights = as.matrix(set$line.weights$Condition$FirstGame)
first.game.mean = colMeans(first.game.lineweights)
second.game.lineweights = as.matrix(set$line.weights$Condition$SecondGame)
second.game.mean = colMeans(second.game.lineweights)
subtracted.network = first.game.mean - second.game.mean
# Plot dimension 1 against ActivityNumber metadata
dim.by.activity = cbind(
as.matrix(set$points)[,1],
set$trajectories$ActivityNumber * .8/14-.4 #scale down to dimension 1
)
plot = ena.plot(set)
plot = ena.plot.network(plot, network = subtracted.network, legend.name="Network")
plot = ena.plot.trajectory(
plot,
points = dim.by.activity,
names = unique(set$model$unit.label),
by = set$trajectories$ENA_UNIT
);
print(plot)