Skip to content

Releases: stocnet/autograph

Release v1.2.3

Choose a tag to compare

@github-actions github-actions released this 08 Sep 21:39
5e7e556

Package

  • Added {messydates} to Suggests
  • Raised {manynet} floor to 2.3.1

Theming

  • Added scale_x_mdate() and scale_y_mdate() (closes globalgov/messydates#104)
    • FUN resolves each messy date to one date; messydates::vmin by default
  • Moved the colour checks into R/theme_aesthetics.R

Layouts

  • Added check_crossings() for how many other ties each tie crosses
  • Added check_slopes() for the slope each tie is drawn at
  • Added check_lengths() for the total, max, and variance of tie lengths
  • Added check_angles() for the angular resolution at each node
  • Added check_drawing(), which reports those checks plus check_stress()

Tutorials

  • Improved the isolate/bundling/backbone section ordering
  • Each layout quality measure now names the function that measures it

Release v1.2.2

Choose a tag to compare

@github-actions github-actions released this 28 Aug 14:59
9664fef

Package

  • Shortened the startup message of .onAttach()

Graphing

  • Improved how node_color= colours numeric node variables

Tests

  • Fixed the arc strength test depending on the BLAS

Release v1.2.1

Choose a tag to compare

@github-actions github-actions released this 26 Aug 16:29
24eb49b

Layouts

  • Fixed "valence" layout returning a poor layout for some random starts
    • The nodes now start on a circle, so one run resembles the next
    • The repulsion force between two close nodes is now bounded
    • Each step is now capped and cools over the iterations

Tests

  • Fixed the tutorial test failing on a deprecation warning that the tutorial code does not raise itself
  • Fixed the "valence" layout test depending on the random seed

Release v1.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 16:12
24eb49b

Package

  • Removed the CRAN version check from .onAttach(), making library(autograph) faster to attach
    • Fixed .onAttach() not applying the ink of a persisted theme
  • Added {goldfish} to Enhances
  • Added {systemfonts} to Suggests
  • Added a website-builds job to prchecks.yml, reporting whether the site builds
    • count_pages() was missing from the reference index, which stopped it
  • Updated CONTRIBUTING with conventions for function names, NEWS.md bullets,
    the website reference index, and keeping tutorials and articles in step
  • Added stocnet_completion() to offer values an argument accepts as RStudio completions
    • graphr(fict_lotr, node_color = Tab lists the node variables fict_lotr holds
    • Covers node and tie variables, layouts, label criteria, themes, and defaults such as isolates
    • Off unless asked for, since it replaces/encapsulates one of RStudio's internal functions; stocnet_completion(FALSE) restores it
    • A persist argument remembers the choice, as stocnet_theme() does
    • Values labelled with its class and its categories or range; a layout with the package that draws it

Layouts

  • Improved layered layouts
    • Consolidated layered layouts onto one engine
      • "layered" is now default layout for directed acyclic networks
      • Deprecating "hierarchy" as "layered" is more consistent for two-mode networks
      • "lineage" is now exactly "layered" with the axes exchanged
      • Deprecating "alluvial" to free name for plot of changing membership composition
      • "railway" and "ladder" unchanged, but are alignment = "rungs"
      • Checks whether layout is appropriate for the network, and reverts to default if not
    • Minimises two costs: tie length (check_span()) and nodal offset (check_offset())
    • Added ranks= to choose the layers:
      • "compact" asks igraph::layout_with_sugiyama()
      • "generation" ranks each node by its distance from a root
      • "tight" (default) minimises total tie length while every tie points down at least one layer
      • a numeric node attribute lays the layers out by its values, spaced in proportion to them, which is what "lineage" used to take a rank for
    • Added alignment= to choose how a layer is spread out:
      • "straight" (default) draws ties as close to straight as ordering allows
      • "rungs" gives every layer same integer spacing
    • Each weakly connected component now laid out on its own and packed beside others
    • Fixed layout_layered() centring on a second mode node yet reading first mode labels
    • Fixed the direction of layers given as values to ranks=
    • Fixed layered layout labels to ignore label_repel
  • Improved multilevel layout
    • Renamed "multilevel" layout to "levels" to avoid potential future collisions
    • Fixed layout_levels() to identify modes without having to name a level
    • Exposed method, alpha, beta, FUN1 and FUN2 arguments
  • Deprecated "dyad", "triad", "tetrad", "pentad" and "hexad" layout names
    • "configuration" already picks the one matching the number of nodes
    • The layout_dyad() to layout_hexad() functions themselves are unchanged
  • Fixed three broken paths in layout_concentric()
    • Fixed drawing each node of an unlabelled network on a circle of its own
    • Fixed erroring where a membership holds NA, now gathers NA nodes onto own circle
    • Fixed order.by=, which errored on every network; now orders nodes around each circle by that attribute, decreasing
  • Fixed graphr(snap = TRUE) to use rotation and other improvements
  • Added a "scaling" layout for multidimensional scaling
    • Scales classically up to a hundred nodes, and by pivots above that
    • Scales unweighted path distances, so it can handle signed/weighted networks
    • Lays each component out separately, where "pmds" refuses disconnected networks outright
    • Drawn with labelled axes at a fixed ratio, since these coordinates can be read
    • Captioned with check_stress() for Kruskal's stress-1, and console-reported where poor,
      as well as the share of distance variance two dimensions hold
  • Added a "correspondence" layout for correspondence analysis
    • Places nodes by the similarity of their tie profiles
    • Reads directed networks symmetrically by default, but "out" or "in" possible
    • Refuses signed network, but double=TRUE an option
    • Console-reports low broomstick ratio dimensions and low cos2 nodes
  • Added a layout_matching() alias so every layout has a short name
  • Removed unreachable getNNvec()

Graphing

  • Fixed graphr() clipping nodes at panel edges
    • Nodes were drawn at absolute sizes, but scales are expanded by a share of data range,
      so ggplot2's 5% left less room than the radius of a node in a small network
    • Room is now taken from node size, so small networks are given more space
  • Added backbone= to graphr() for drawing dense, hairball "stress", "fr", "drl", "kk" networks
    • By default, networks with 50+ nodes and a mean degree ≥8 use backbones
    • TRUE/FALSE force, or specify filter/threshold (see manynet::tie_is_backbone())
  • Improved graphr() to draw multilevel networks of interlocking one-mode and two-mode layers by default
    • Fixed tie opacity so that those between levels fade behind those within them
    • Fixed default node size in multilevel layout, which is now taken from how many nodes there are at each level rather than in the whole network
    • Fixed labelling to be plain text nudged away instead of white-boxed labels
  • Fixed arcs drawn on layout that places two nodes at one point,
    e.g. graphr(ison_networkers, layout = "scaling")
  • Fixed graphr() to draw parallel ties as a fan instead of one on top of another
  • Fixed tie colouring in multiplex networks to color layers not signs by default
    • Signs are still drawn as linetypes
    • Added a legend for the tie linetype wherever it is the only thing showing the signs, and is titled by whatever color is showing
  • Improved node shape legend to name modes where two-mode network records them instead of default "One" and "Two"
  • Fixed size of self-loops to draw as a fraction of how far the layout spreads rather than at a fixed diameter of one coordinate unit
  • Improved node_group to draw overlapping hulls (closes #51)
    • e.g. graphr(ison_adolescents, node_group = netrics::node_x_clique())
  • Improved graphr() to note when a colour/shape legend grows past about 7 keys
  • Fixed graphs() to collect guides even where panels held different ranges or categories (closes #15)

Theming

  • Added persist= to stocnet_theme()
    • persist = TRUE writes it to tools::R_user_dir("autograph", "config")
    • Nothing written to disk unless passed explicitly
    • Setting a theme without it clears any choice persisted earlier
  • Improved font detection in stocnet_theme() via {systemfonts}
    • Added list_fonts() for listing the font families R can see
  • Added stocnet_medium() for standardising output to the expected medium:
    • "screen" (default), "presentation", "mobile", and "print"
    • ag_size() scales text, not node size or anything else
    • "print" draws on white irrespective of theme grounding
  • Improved theme backgrounds to reach every plot, not only the graphs
    • Plot themes are now built with the ag_theme_*() wrappers
    • Blanked elements stay blank, so a graph keeps no axis text or coordinates
    • Ties, nodes, and labels with no colour take ag_ink() and the ground
  • Added simulate_colorblind(), check_separation() and check_contrast() for checking palettes
    • Simulates deuteranopia, protanopia, and tritanopia (Machado et al. 2009)
    • Scores a pair by its worst case across those and normal vision
    • Added severity= to view anomalous trichromacy (deuteranomaly, protanomaly)
    • Added "grey" type to show a palette as print and photocopy may render it
  • Added check_span() for scoring how far each tie travels down the page
  • Added check_offset() for scoring how far each tie is from its ideal straight line
  • Added ag_ink() for the colour a theme writes with
    • Used by axis text and reference lines, clearing 4.5:1 from the ground
    • Frees ag_base() to be light where that sets it off from the highlight
  • Added ag_missing() for the neutral that data recedes into:
    • missing values, isolates, and any "other" remainder
  • Improved ag_qualitative() to note when a palette is asked for more colours than it holds
  • Improved every theme's categorical palette for colour-blind viewers
    • ag_qualitative() uses most distinct, own colors first not mixtures
    • Samples across the palette only where it holds too few colours
    • Kept "rainbow" in its own order, since fidelity to a spectrum is its point
  • Improved some highlight pairs
    • Fixed "neon" highlight pair, a cyan and a green 12.7 apart
    • Fixed "ethz" and "cmu" highlight pairs by lightening their greys
  • Fixed divergent palettes pairing a red pole with a green or teal one, such as in "ethz"
  • Added a "clay" theme inspired by palette and fonts of Anthropic's Claude

Plotting

  • Added plot.goldfishFit() for the four diagnostic panels a fit can supply
    • Deviance trace, Schoenfeld smooths, score processes, and waiting times
    • Draws only from what the fit stores, leaving a missing panel out
    • Draws the waiting-time panel for exact-time models only
    • Draws the compact term strings the test itself carries, which do not
      repeat where an effect appears over two networks
    • Reports how many terms the Schoenfeld panel dropped
    • Fixed the Schoenfeld panel to select terms by column position
      • The labels it matched on intersect the effect names on the intercept
        alone, so it drew one term where four were asked for
  • Added plot.goldfishGOF() for each effect's cumulative score process
    • Draws the Brownian-bridge bands th...
Read more

Release v1.1.2

Choose a tag to compare

@github-actions github-actions released this 31 Jul 05:59
e3a7c92
Merge pull request #58 from stocnet/develop

v1.1.2

Release v1.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 08:02
02b8ea1
Merge pull request #56 from stocnet/develop

v1.1.0

Release v1.0.3

Choose a tag to compare

@github-actions github-actions released this 01 May 11:18
b71432f
Merge pull request #55 from stocnet/develop

v1.0.3

Release v1.0.2

Choose a tag to compare

@github-actions github-actions released this 30 Apr 16:09
ac59f77
Merge pull request #54 from stocnet/develop

v1.0.2

Release v1.0.1

Choose a tag to compare

@github-actions github-actions released this 30 Apr 08:34
a400176
Merge pull request #53 from stocnet/develop

v1.0.1

Release v1.0.0

Choose a tag to compare

@github-actions github-actions released this 04 Apr 08:23
d4e9e3c
Merge pull request #42 from stocnet/develop

v1.0.0