rescale_edge_attrs {DiagrammeR} | R Documentation |
Rescale numeric edge attribute values
Description
From a graph object of class dgr_graph
, take a set of numeric values for an
edge attribute, rescale to a new numeric or color range, then write to the
same edge attribute or to a new edge attribute column.
Usage
rescale_edge_attrs(
graph,
edge_attr_from,
to_lower_bound = 0,
to_upper_bound = 1,
edge_attr_to = NULL,
from_lower_bound = NULL,
from_upper_bound = NULL
)
Arguments
graph |
A graph object of class |
edge_attr_from |
The edge attribute containing numeric data that is to be rescaled to new numeric or color values. |
to_lower_bound |
The lower bound value for the set of rescaled values. This can be a numeric value or an X11 color name. |
to_upper_bound |
The upper bound value for the set of rescaled values. This can be a numeric value or an X11 color name. |
edge_attr_to |
An optional name of a new edge attribute to which the recoded values will be applied. This will retain the original edge attribute and its values. |
from_lower_bound |
An optional, manually set lower bound value for the rescaled values. If not set, the minimum value from the set will be used. |
from_upper_bound |
An optional, manually set upper bound value for the rescaled values. If not set, the minimum value from the set will be used. |
Value
A graph object of class dgr_graph
.
See Also
Other edge creation and removal:
add_edge()
,
add_edge_clone()
,
add_edge_df()
,
add_edges_from_table()
,
add_edges_w_string()
,
add_forward_edges_ws()
,
add_reverse_edges_ws()
,
copy_edge_attrs()
,
create_edge_df()
,
delete_edge()
,
delete_edges_ws()
,
delete_loop_edges_ws()
,
drop_edge_attrs()
,
edge_data()
,
join_edge_attrs()
,
mutate_edge_attrs()
,
mutate_edge_attrs_ws()
,
recode_edge_attrs()
,
rename_edge_attrs()
,
rev_edge_dir()
,
rev_edge_dir_ws()
,
set_edge_attr_to_display()
,
set_edge_attrs()
,
set_edge_attrs_ws()
Examples
# Create a random graph using the
# `add_gnm_graph()` function
graph <-
create_graph() %>%
add_gnm_graph(
n = 10,
m = 7,
set_seed = 23) %>%
set_edge_attrs(
edge_attr = weight,
values = rnorm(
n = count_edges(.),
mean = 5,
sd = 1))
# Get the graph's internal edf
# to show which edge attributes
# are available
graph %>% get_edge_df()
# Rescale the `weight` edge
# attribute, so that its values
# are rescaled between 0 and 1
graph <-
graph %>%
rescale_edge_attrs(
edge_attr_from = weight,
to_lower_bound = 0,
to_upper_bound = 1)
# Get the graph's internal edf
# to show that the edge attribute
# values had been rescaled
graph %>% get_edge_df()
# Scale the values in the `weight`
# edge attribute to different
# shades of gray for the `color`
# edge attribute and different
# numerical values for the
# `penwidth` attribute
graph <-
graph %>%
rescale_edge_attrs(
edge_attr_from = weight,
to_lower_bound = "gray80",
to_upper_bound = "gray20",
edge_attr_to = color) %>%
rescale_edge_attrs(
edge_attr_from = weight,
to_lower_bound = 0.5,
to_upper_bound = 3,
edge_attr_to = penwidth)
# Get the graph's internal edf
# once more to show that scaled
# grayscale colors are now available
# in `color` and scaled numerical
# values are in the `penwidth`
# edge attribute
graph %>% get_edge_df()