autograph 1.1.2
Package
- Improved the declared dependencies
- Removed
{knitr} from Suggests: it was used solely by
the tutorial tests, which now extract the tutorials’ {r}
chunks with the same small scanner used in {manynet} and
{netrics} (verified to yield an identical expression set to
knitr::purl() on the autograph tutorial)
- Removed
{tidygraph} from Imports: its only functional
use was reading the edgelist’s target column in
.infer_end_cap(), which now uses
igraph::as_edgelist() (verified to give identical end
caps)
- Promoted
{graphlayouts} from Suggests to Imports, since
it is required for grapht()’s default “stress”
layout (without it, wave-to-wave node transitions silently degraded to a
static aggregate layout) and is installed regardless as
{ggraph} imports it; its
requireNamespace()/thisRequires() guards have
been removed
- Declared a minimum
{manynet} version
(>= 2.2.1)
- Updated the GitHub Actions workflows
- Updated the actions to their latest major versions
(
actions/checkout@v7,
actions/upload-artifact@v7,
actions/download-artifact@v8), replacing some long-outdated
@v2 pins
- Updated the website deploy job’s
r-lib/actions/setup-pandoc from @v1 to
@v2, matching every other r-lib/actions
step
- Added checks that metadata and tutorial vignettes correspond
- Improved the test suite while reducing what CRAN has to run
- The functional audits now fail rather than skip when
AUTOGRAPH_STRICT_AUDIT=true, which the CI check step now
sets, so a broken layout or plot method can no longer pass CI green
- Fixed the layout audit’s fixture and argument maps, which paired
several layouts with networks they cannot lay out; because
skip() aborts the enclosing test_that(), the
first such mismatch had been silently preventing every later layout from
being audited at all (the layout audit goes from 21 to 108
assertions)
- Coverage is now measured with
NOT_CRAN=true, without
which every skip_on_cran() test — most of the suite — was
skipped while covr ran, badly under-reporting coverage
release and pkgdown no longer run under
if: always(), so a failing R CMD check can no
longer tag a release or deploy the website
- Replaced
graphr()’s sweep over every bundled
{manynet} dataset with a representative sample, and dropped
the plot.* smoke tests now subsumed by the plot-method
audit; CRAN-visible test time falls while CRAN-visible assertions
rise
- Added an edge-case audit (
test-functional_errors.R), an
audit of the user-facing layout_* aliases, and examples for
the ag_* palette accessors and configurational layouts,
none of which were previously covered
- Theme-mutating tests now restore the previous theme with
on.exit(), so global theme state cannot leak between
parallel test workers
- Updated the website and README
- Updated favicons
- Split Graphing from Plotting functions
- Updated README to send visualisation examples to the website
- Fixed README double logoing on pkgdown build, and added alttext
- Updated CONTRIBUTING with the package architecture, conventions, and
dev commands
- Updated remaining base R
stop(), warning()
and stopifnot() calls to the {manynet} cli
interface
Graphing
- Fixed
graphs()/grapht() erroring (“Can’t
combine ..1 and ..2 ”) on
a longitudinal network whose changing node attributes are stored as
non-character vectors (e.g. the logical active flag and
numeric height/mass in fict_starwars)
- Such networks now split into waves via a guarded
to_waves() that coerces the offending attributes when
{manynet}’s splitter cannot combine them
- Fixed
graphr(..., snap = TRUE) erroring (“‘-’ only
defined for equally-sized data frames”) whenever a node sat exactly on a
grid point
depth_first_recursive_search() compared each node
against a distance vector that still included its own zero
self-distance, so an exact hit selected that entry and yielded an empty
grid point; the self-distance is now dropped before the nearest vacant
point is chosen
- two-mode networks hit this on their very first node, since their
coordinates are exactly 0 or 1
- Improved
graphr() to ignore snap = TRUE
for layered layouts (“hierarchy”, “railway”, “ladder”, “alluvial”,
“multilevel”, “lineage”, “layered”)
- These layouts encode rank, mode, or generation along an axis, which
square-grid snapping would collapse
- Fixed
graphr() erroring with “argument "node_color" is
missing, with no default” when passed a list of networks; the call is
now forwarded to graphs() as written, rather than argument
by argument
- Improved how
graphr() checks the attribute names given
to its aesthetic arguments
- A mistyped node or tie attribute name now errors immediately, naming
the argument and offering the closest match:
graphr(net, node_color = "welth") reported “Unknown colour
name: welth” at draw time, and now reports that “welth” was not found
among the node attributes and asks whether “wealth” was meant
- The same applies to
node_shape (previously “Shape
aesthetic contains invalid value”), node_size and
edge_size (previously “Aesthetics must be either length 1
or the same as the data (8)”), node_group, and
edge_color
- Improved the error when the input is not a network, which now names
the argument and the class given, rather than reporting a missing method
for
as_tidygraph()
- Fixed
isolates being validated only when the network
happened to contain isolates, so the same typo errored on one network
and was ignored on another
- Fixed
node_size values between 0 and 1 being silently
multiplied by ten; node_size = 0.5 now means 0.5, while a
vector of proportions is still rescaled to stay visible
- Fixed
graphs() producing empty panels by checking
waves against the number of networks available
- Added a set of internal argument checks
(
R/graph_checks.R) shared by graphr(),
graphs(), grapht(), the
layout_*() functions, and stocnet_theme()
- An unrecognised value now errors immediately, naming the argument
and offering the closest match, rather than falling through to
{ggplot2}, {grid}, or match.arg()
(so isolates = "drop" reports isolates, rather
than “‘arg’ should be one of …”)
- A value that differs only in capitalisation is now used as intended,
with a note, instead of being rejected:
node_color = "Wealth" finds the wealth
attribute
- Note that these checks are stricter than before: a mistyped
attribute name used to be ignored silently or to fail later, and now
stops the call
- Updated group-reduction note in
graphr() and
constant-colour note shared by graphr() and
grapht() so that their wording cannot drift
Plotting
- Improved
plot.node_member() to draw its dendrogram with
{ggraph}
- Passes
hclust object’s own merge heights to the
dendrogram layout to reproduce the previous plot’s leaf order, merge
heights, cluster label colours, and cutpoint line
- Branches now drawn in
ag_base() rather than black,
matching the height axis and so respecting the active
stocnet_theme()
- Removed
{ggdendro} from Imports
- Updated a stale doc cross-reference in
plot.node_member(), which pointed at
manynet::node_in_community(); that function moved to
{netrics} in manynet 2.0.0
- Updated terse or dead-end messages to say what to do next, including
plot.node_motif()/plot.network_motif()
(“Cannot plot these motifs yet, sorry.”), match_color(),
plot.diff_model(), and the concentric and hierarchy layouts
(“Duplicated nodes in layers!”)
- Updated zero-variance note shared by three GOF plot methods so that
their wording cannot drift
Layouts
- Improved the error on an unrecognised
layout, which now
names the argument, suggests the nearest layout, and lists autograph’s
own layouts, rather than reporting “object ‘layout_tbl_graph_stresss’
not found”
- Passing a layout function
(e.g.
layout = igraph::layout_with_fr), rather than its
name, now says so instead of erroring with “invalid indexing”
- Added checks of the
membership/level/rank arguments
that the partition layouts require, which name the argument and offer
the closest match
Theming
- Improved
stocnet_theme() to error with the nearest
match on an unrecognised theme name, instead of warning and silently
leaving the previous theme in place; giving more than one theme name is
also caught
Tutorials
- Updated visualization tutorial to use colour/color consistently
autograph 1.1.1
Graphing
- Fixed
grapht() example, which took too long to run, by
couching it in \donttest{}
- Improved
graphs() to accept bare longitudinal or
dynamic networks
- Splits it into waves or time slices automatically (consistent with
grapht()), instead of erroring with “invalid to use
names()<- on an S4 object of class ‘dgCMatrix’”
- Fixed various errors and warnings in
graphr()/graphs() on signed, directed, or
changing networks:
- Fixed recycling warnings (“longer object length is not a multiple of
shorter object length”) in
graphr() on a complex network
- arc geom’s
strength parameter now excludes loop edges,
which are drawn separately by geom_edge_loop0()
- Fixed spurious warning (“no non-missing arguments to max; returning
-Inf”) in
graphr() on a changing network without any
adoption events (e.g. fict_potter)
- such networks now rendered as standard changing networks rather than
routed through the diffusion node-colour mapping
- Fixed fails at draw time with “invalid hex digit in ‘color’ or
‘lty’” in
graphr() on a signed multiplex network
(e.g. fict_marvel)
- ties on non-signed layers (which have a missing sign) are now drawn
solid/positive rather than passing
NA to grid
- Fixed error with “Aesthetics must be either length 1 or the same as
the data” in
graphr()/graphs() on signed
longitudinal or directed networks
(e.g. to_waves(ison_monks))
- per-tie sign linetypes are now mapped through
aes()
(with an identity scale) so ggraph’s edge geoms expand and subset them
consistently with edge colour and width
- Fixed
graphr(..., snap = TRUE) erroring on two-mode
networks: their default “hierarchy” layout is now left un-snapped (with
an informative message) since collapsing its layered coordinates onto a
square grid is not meaningful, while snapping a two-mode network under a
force-directed layout continues to work; also hardened the grid-snapping
search so a coordinate landing exactly on a grid point is no longer
mistaken for a node’s zero self-distance
Tutorials
- Updated visualisation tutorial with a bit more structuring of
further options
autograph 1.1.0
Package
- Test coverage raised by introducing functional testing
infrastructure (
tests/testthat/helper-functional.R and
test-functional_*.R) for:
- the layout family
- the
plot.* S3 method family
- the
ag_* palette accessors across all themes
graphr()’s aesthetic arguments each enumerated
automatically and audited against fixture grids
- Removed the unused internal helper
seq_nodes()
- Excluded the interactive-only palette helper
ggpizza()
from coverage
- Added
{migraph} to Suggests (used in tests only)
Graphing
- Improved how
graphr() treats labels
- Fixed labels overlapping nodes (closes #13): labels now keep clear
of node borders automatically by giving ggrepel each node’s true
rendered size, with
label_dist adding a further
points-based gap (mirroring igraph’s vertex.label.dist) and
label_repel = FALSE selecting a fixed offset instead of
repulsion.
- This also fixed a pre-existing bug where non-repelled labels
rendered with a fully transparent fill under this package’s theme,
making them invisible over nodes.
- Improved
grapht() has been rewritten for smoother, more
consistent animations of dynamic networks
- Node positions now transition seamlessly between waves using the
dynamic stress layout from
{graphlayouts}
(layout_as_dynamic()), with a new alpha
argument controlling layout stability; other layouts are computed once
on the aggregate network and held fixed
- Changing node composition is now handled properly: every node that
ever appears gets a stable position and fades in and out in place as it
enters and exits the network
- New
isolates argument ("keep" or
"fade") controls whether temporarily isolated nodes stay
visible or fade out; keep_isolates is deprecated
- Dynamic (time-stamped, event-based) networks such as
irps_nuclear are now split automatically into cumulative
time slices via manynet::to_slices(), so a single dynamic
network object passed to grapht() works without manual
conversion
- Interval (spell) networks that record tie
begin/end lifespans, such as
irps_wwi, are now split automatically into one snapshot per
change point showing the ties active in that spell, so
grapht(irps_wwi) works directly (previously it errored
because such networks are dynamic but carry no time
attribute for to_slices()); irps_wwi is now a
runnable example in the documentation
grapht() now uses the dynamic stress layout by default
even for two-mode networks (rather than a hierarchy layout, which
collapsed many nodes onto a line), suppresses node labels by default for
networks with more than 30 nodes to keep frames legible, and fades
densely overlapping ties so they read as a density gradient rather than
a solid mass
- Fixed an error when animating networks whose node names contain
non-ASCII characters
- Waves without any ties are no longer silently dropped
- Closer visual parity with
graphr(): directed networks
get arrowheads on segments trimmed at the target node, signed networks
distinguish positive/negative ties by linetype and colour, mapped
aesthetics use the same palettes with factor levels consistent across
frames, and legends transition along with the animation
- Aesthetic-resolution helpers are now shared between
graphr() and grapht() (new R/graph_aes.R), so
styling cannot drift between static and animated plots
- Added a test suite for
grapht() (no gif rendering
required)
- Now aborts with a clear message when its input cannot be split into
waves or slices, instead of failing much later with a cryptic igraph
error (closes #40); the underlying cause —
to_waves()
silently ignoring a time attribute not named “wave” — will be fixed in
{manynet} 2.2.2, and the tutorial example now uses a
wave attribute, which splits correctly with
{manynet} 2.2.1
- Added an
edge_bundle argument to graphr()
for bundling edges in dense networks (closes #19):
TRUE/"force" uses force-directed bundling,
with "path" and "minimal" selecting the other
non-hierarchical algorithms
- colour/width/linetype mappings are preserved and directed networks
keep their arrowheads.
- This wires up ggraph’s non-hierarchical bundling geoms (added in
ggraph 2.2.0), which were previously imported but never called, so the
ggraph dependency is now
(>= 2.2.0)
- Fixed
edge_size = 0 not fully suppressing edges on
directed networks (closes #50): arrowhead length was hard-coded
regardless of edge_size, leaving a visible arrowhead when
the line was hidden. Arrow length now scales with the resolved edge
width (capped so heavily-weighted edges don’t get oversized heads) and
is omitted entirely when the width is 0
- Fixed two-mode auto-shapes assigning circles to the second mode: the
first mode now takes circles and the second squares, as intended
- Fixed
graphr() returning an empty plot for networks
consisting only of isolates (e.g. the empty dyad/triad motifs): isolates
are now kept whenever removing them would empty the graph
- Fixed
graphs() erroring on lists containing tie-less
networks (e.g. plot() on motif censuses): panels sharing a
layout now keep isolates so every node has a coordinate in every
wave
- Fixed
graphr() erroring on weight or size attributes
carrying measure classes (e.g. tie_measure results from
{netrics} stored as attributes)
- Fixed a vector-recycling warning in
graphs()’
ego-network detection
Tutorials
- Fixed the “Tying up loose ends” exercise in the visualisation
tutorial erroring on
tie_closeness() (closes #39): the
tutorial now loads {netrics} and uses its measure functions
(tie_by_closeness(), tie_is_triangular()), and
every tutorial code chunk is now exercised by the functional tests
below
- Reworked the “Visualising Networks” tutorial to match the structure
and features of the
{manynet} v2.2 tutorials
- Rebranded the tutorial in autograph red, with larger, more readable
text and matching ‘Run code’ buttons
- Added a checkbox Aims section, “Catching up”, “Going further”,
“Beginner note”, and “In brief” callout boxes, per-page mini-tables of
contents, and free play sections with a choose-your-own-data difficulty
ladder
- Added hover-over glossary terms throughout and a closing Summary
section with a function overview table and glossary
- Added quiz questions with feedback, and hints for the coding
exercises
- New coverage of
edge_bundle,
label_repel/label_dist, the
isolates argument, snap grid-snapping,
autograph’s own special-purpose layouts, and programmatic export with
ggsave()
- New sections on directed networks (automatic, width-scaled
arrowheads and manual control via
edge_size), automatic
mode shapes in two-mode networks, and manually adjusting a layout’s
coordinate table before passing it back via
x/y
- Added artist-themed gifs throughout, including as quiz-answer
feedback
- Added a static, read-only version of the tutorial as a pkgdown
article (“Tutorials” menu on the website), as in
{manynet}
- Added functional testing of all tutorial code chunks
(
tests/testthat/test-tutorials_autograph.R), mirroring
{manynet}’s tutorial testing infrastructure
Layouts
- Fixed
layout_tbl_graph_layered() ordering nodes by the
names rather than the positions of their neighbours in adjacent layers,
which degraded every barycenter sweep to NA and raised warnings
- Replaced deprecated
dplyr::case_match() with
dplyr::recode_values()
Plotting
- Fixed
plot.matrix() erroring when no
membership argument was supplied, for both one-mode and
two-mode matrices
autograph 1.0.3
Plotting
- Fixed the error produced by a namespace reference in a call in
ergm_res by serializing it, moving to extdata, and loading
it via load_ergm_res()
autograph 1.0.2
Plotting
- Fixed the error produced by a namespace reference in a call in
ergm_res
autograph 1.0.1
Package
Plotting
- Fixed the error in some flavours by removing environment references
in included objects
- Closed #44 by adding example that uses
ggplot2::scale_colour_discrete() to tweak colour
output
Tutorials
- Fixed the tutorial to use netrics functions
autograph 1.0.0
Package
- Updated startup message to declare the set theme
Graphing
- Improved
node_shape to accept more categories
- Moved
node_is_isolate and
node_adoption_time to internal helpers to reduce
dependencies
- Fixed #47 by overriding shape to fillable (21)
- Fixed #10 and #52 by adding label distance parameter
- Fixed #17 and #40 by improving
grapht()
Plotting
- Closed #37 by adding EgoAlter sienaGOF plot
- Fixed #36 by using
.to_factor() in
plot.ag_gof() to correct numeric ordering of statistics,
and dropped cumulative correction in plot.sienaGOF()
- Fixed #38 by dropping linetype in favour of colours even for bw
theme in
plot.influenceTable()
- Fixed option reference from
snet_theme to
stocnet_theme in plot.selectionTable() and
plot.influenceTable()
- Applied
ag_font() to migraph model plots for consistent
typography
- Reorganised plot scripts by purpose: summaries, tests, and
analysis
- Fixed #46 by not appending “X” to the names when creating the data
frame and moving factor coercion later in the process
Tutorial
- Fixed #41 by updating tutorials to use fill aesthetics
(
scale_fill_*()) instead of colour aesthetics
(scale_colour_*())
autograph 0.6.0
Package
Graphing
graphr() now auto-dispatches to graphs()
when passed a list of graphs
graphs() no longer requires {patchwork} to
be loaded separately
- Closed #12 by changing node aesthetics from
color to
fill using fillable shape codes (21–25) for nodes to
support fill-based colour scales
- Consolidated legend modifications into internal
graph_legends() helper
- Improved legend labelling:
- edge sign legend now labelled “Sign”
- edge weight/width now labelled “Weight”/“Width”
- node mode/shape legend now labelled “Mode”/“Shape”
- Closed #8 by adding “isolates” argument to
graphr():
"legend" (default) removes isolates from the graph but
notes them in the legend
"caption" removes isolates from the graph but notes
them in the caption
"keep" retains isolates in the graph as-is (closes
#12)
Theming
- Removed
scale_*() functions as redundant with better
theme support and match_color()
Layouts
- Replaced
{Rgraphviz} (Bioconductor) with
igraph::layout_with_sugiyama for Sugiyama/hierarchy
layouts, removing the Bioconductor dependency
- Improved Sugiyama layout with dummy node insertion and barycenter
crossing minimisation for better edge routing
- Fixed #18 for lattice layout snapping by rotating the layout to
optimise edge verticality and horizontality
autograph 0.5.1
Plotting
- Improved
plot.gof.ergm() (closes #31)
- Now works on directed and two-mode networks and dyadwise shared
partners
- Now has more informative error message if statistic not
available
- Now accepts more descriptive and gof-formula consistent statistic
names
autograph 0.5.0
Package
- Shortened startup messages
Plotting
- Added
plot.goldfish.changepoints()
- Added
plot.goldfish.outliers()
- Added
plot.mnet() to avoid
igraph::plot.igraph() dispatching
Graphing
- Restructured scripts for improved maintenance and development in the
future
- Fixed
ggplot2::geom_violin() call in
graphr() to avoid warnings with ggplot2 v4.0.0
- Improved
graphr() internals to rely on a NULL “layout”
parameter and .infer_layout()
- Improved
graphr() to use match_color() for
diffusion palettes
- Fixed
graphs() handling of changing networks
autograph 0.4.2
Package
Plotting
- Fixed node overflow issue and restored marginal density plot in
plot.ag_conv() by dropping +.ggplot()
- Added automatic legend labelling where node_size or node_color or
edge_color is given
Theming
- Added “hwu” theme for Heriot-Watt University
- Improved highlight and divergent theme setting to use switch
- Added some discussion about colour-blindedness to palettes
documentation and viz tute
- Added some instruction on how to customise themes more
specifically
autograph 0.4.1
Package
- Improved startup message to ignore class
Theming
- Added “iast” theme for the Institute of Advanced Studies,
Toulouse
Plotting
- Improved ergm convergence diagnostic plotting by working on the
results object, mostly avoiding startup conflict warning
- Dropped marginal density plot in
plot.ag_conv() to fix
{ggplot2} v4.0.0-related node overflow issue
autograph 0.4.0
Package
- Fixed DOI in CITATION
- Improved README introduction
- Improved README graphing illustration, including igraph comparison
figure
- Improved README plotting illustration, added SAOM/ERGM GOF
comparison figure
Theming
- Improved
stocnet_theme() documentation
- Improved
stocnet_theme() to register a font family for
plots
- A vector of potential fonts is included for some themes
- The first font found on the system will be used, and user
notified
- If no fonts are found, the default R font (“sans”) will be used
- A message is printed to inform the user if the default is used, and
how to install missing fonts via
{extrafont}
- Added font options for “iheid”, “oxf”, “ethz”, “uzh”, and “rug”
themes
- Added
ag_font() for retrieving the registered font
family
- Improved
match_colors() documentation
- Exported
is_dark() and made it vectorised
- Added
match_colors() and is_dark()
tests
- Dropped
theme_*() functions in favour of
stocnet_theme()
- Dropped
theme_*() tests
- Added
stocnet_theme() tests
- Added “cmu” theme for Carnegie Mellon University
Graphing
- Improved
graphr() by using registered fonts where
available
- Improved
graphr() by using
ag_qualitative() for discrete colour scales
Plotting
- Improved
plot.selectionTable() and
plot.influenceTable() documentation by consolidating them
together into one help file
- Improved
plot.ag_conv(), plot.ag_gof(),
and plot_interp by using registered fonts where available
- Improved
plot.sienaGOF() to use lower case auxiliary
statistic description
Data
- Renamed
res_monan_traces to
monan_conv
- Renamed
res_monan_gof to monan_gof
- Renamed
res_ergm_gof to ergm_gof
- Renamed
res_siena_gof to siena_gof
- Renamed
res_siena_influence to
siena_influence
- Renamed
res_siena_selection to
siena_selection
autograph 0.3.1
Package
- Fixed old citation style issue for CRAN
Plotting
- Added
plot.ag_conv() as a new plotting method for
convergence diagnostics
- Plots MCMC traces as a line plot with loess smoothing highlighting
the trend
- Plots overall density plot of the samples on the right margin
- Improved plotting of
{MoNAn} trace objects by using
plot.ag_conv()
- Added
plot.mcmc.list() for plotting MCMC samples from
ergm::ergm results objects, using
plot.ag_conv()
Data
- Added
ergm_res for testing and illustration of
plot.mcmc.list(), use ergm_res$sample to
access the MCMC sample
autograph 0.3.0
Package
- Added package documentation
- Added citation
- Dropped dependencies
{tidyr}, {cli}, and
{concaveman}
- Added more description to the function overview sections on the
website
- Added CODECOV_TOKEN to Github secrets for test coverage
reporting
Graphing
- Fixed
graphr() not using theme colours for node and
edge aesthetics
Plotting
- Added new plot class and method for centralising GOF plotting
- Improved
plot.sienaGOF() and
plot.gof.stats.monan() to use new plotting method
- Added
plot.gof.ergm() for plotting ERGM GOF
objects
- Improved GOF plotting by adding boxplot within the violins
- Improved GOF plotting by adding crosses for outliers
- Improved GOF plotting by adding dashed line for 0.05 and 0.95
quantile bounds
- Improved GOF plotting by dropping statistics without variance
- Improved GOF plotting by using
cumulative = FALSE by
default
- Fixed issue with pre-v1.3.20 RSiena::gof() objects, thanks @TomSnijders
- Added testing of GOF plotting
- Added testing of measures plotting
Theming
- Added
set_stocnet_theme() alias for
stocnet_theme()
- Fixed issue with ‘oxf’ and ‘unige’ themes not being recognised
Data
- Added
res_ergm_gof for testing and illustration of
plot.gof.ergm()
Tutorial
- Added visualisation tutorial from manynet
- Improved introduction
- Improved section on titles, labels, and legends
- Improved section explaining base and grid graphics
- Added section demonstrating difference between
igraph::plot(), ggraph::ggraph(), and
graphr()
- Added table describing the main arguments of
graphr()
and the visualisation dimensions to which they relate
- Added section showing how to use “node_shape” (poorly)
- Improved section showing how to use “node_colour” and
“node_group”
- Added section showing how to use “node_size”
- Added section showing how to set a theme
- Added section showing how to use “edge_colour” and “edge_size”
- Improved section introducing
{patchwork},
graphs(), and grapht()
- Added plotting section to viz tutorial
autograph 0.2.0
Package
- Added (currently) necessary dependencies
- Removed unnecessary manynet dependencies
Plotting
- Added
graphr(), graphs(), and
grapht() from manynet for quick plotting of one or more
graphs
- Improved
+.ggplot() to check whether second object
inherits ggplot class (thanks @teunbrand for fixing #110)
- Fixed issue with edge_linetype in signed, directed networks with
weights (closed #14)
- Updated README with examples of
graphr() and
others
Themes
- Added themes for Oxford and UNIGE (closed #1)
- Improved
stocnet_theme() to add option to
“stocnet_theme” (previously “snet_theme”)
- Added
is_dark() to check whether a theme is dark or
light
- Added
match_color() to return closest matching colors
from a palette
Layouts
- Added layout_valence() for signed graphs (closed #6)
- Added configurational layouts from manynet
- Added aliases for various layout_tbl_graph_*() functions
autograph 0.1.2
Package
- Fixed line break issues in DESCRIPTION
Themes
- Fixed default for
ag_sequential()
Layouts
- Fixed “layout_layered” to accept typical ggraph parameters
manynet
- Added return value statements
migraph
- Added return value statements
RSiena
- Added return value statements
MoNAn
- Added
plot.traces.monan()
- Added
plot.gof.stats.monan()
autograph 0.1.1
Package
autograph 0.1.0
Package
- Initial setup, with all the goodies
Theming
- Added
stocnet_theme() for setting a theme that can then
be reused across successive plots (closes #3)
- For example,
stocnet_theme("iheid") for IHEID colour
theme
- Added
ag_*() palettes, for example:
ag_highlight() to select the highlight colours of a
particular palette
- Added
match_color() for matching one or more hexcodes
to a palette’s offerings
Plotting
- Added manynet plot methods
- Added
plot.diff_model()
- Added
plot.matrix()
- Added
plot.learn_model()
- Added
plot.network_measures()
- Added
plot.network_motif()
- Added
plot.tie_measure()
- Added
plot.node_measure()
- Added
plot.node_member()
- Added
plot.node_members()
- Added
plot.node_motif()
- Added migraph plot methods
- Added
plot.netlm()
- Added
plot.netlogit()
- Added
plot.network_test()
- Added
plot.diffs_model()
- Added RSiena plot methods
- Added
plot.sienaGOF()
- Added
plot.influenceTable()
- Added
plot.selectionTable()
Layouts
- Added
layout_tbl_graph_matching() for positioning nodes
according to their manynet::to_matching() partners
- Added first version of
layout_tbl_graph_layered() for
layering nodes according to a Sugiyama-type layout
Data
- Added some precooked results for testing and illustration