Data-flo Docs
  • About Data-flo
    • Data-flo Major Update in April 2024
      • Migrating your workflows into the latest version of Data-flo
        • Streamlined adaptors
        • Deprecated adaptors
        • New and retained adaptors
    • Change Log
    • Privacy and Terms of Service
    • Open source software used by Data-flo
  • Data-flo Basics
    • Account
    • Navigation
    • Terminology
    • Interface Icons
    • Data-flo's building blocks: Adaptors
      • Using adaptors to import data
      • Using adaptors to process data
      • Using adaptors to export data
    • Combining adaptors to create workflows
      • Creating a workflow
        • Building a workflow from scratch
        • Cloning an existing workflow
        • Importing a .dataflo file
      • Testing your workflows
      • Running your workflows
      • Accessing your workflows
  • Adaptor reference guide
    • add-column
    • add-jittering
    • add-value-to-dictionary
    • aggregate-rows
    • append-datatables
    • append-lists
    • append-to-list
    • apply-force-directed-layout
    • calculate-column
    • calculate-time-difference
    • change-column-case
    • compare-columns
    • concatenate-columns
    • concatenate-text
    • convert-date-to-text
    • convert-list-to-datatable
    • convert-text-to-datatable
    • convert-text-to-list
    • create-dictionary-from-datatable
    • create-google-drive-folder
    • create-graph-from-datatable
    • create-graph-from-dot
    • create-list-from-datatable
    • create-text-from-template
    • duplicate-column
    • export-file-to-google-drive
    • export-file-to-smb-share
    • export-graph-to-dot-file
    • export-text-to-file
    • export-to-csv-file
    • export-to-dbf-file
    • export-to-google-sheet
    • export-to-microreact-project
    • export-to-sqlite-file
    • filter-list
    • filter-rows
    • find-value-in-dictionary
    • find-value-in-list
    • format-date-column
    • format-time-column
    • geocoding
    • import-file-from-dropbox
    • import-file-from-figshare
    • import-file-from-google-drive
    • import-file-from-http-request
    • import-file-from-s3
    • import-file-from-smb-share
    • import-file-from-url
    • import-from-csv-file
    • import-from-dbf-file
    • import-from-epicollect-project
    • import-from-excel-file
    • import-from-google-sheet
    • import-from-json-file
    • import-from-microreact-project
    • import-from-mysql
    • import-from-oracle
    • import-from-postgres
    • import-from-spreadsheet-file
    • import-from-sql-server
    • import-from-sqlite
    • import-list-from-text-file
    • import-text-from-file
    • join-datatables
    • list-datatable-columns
    • list-newick-leaf-labels
    • map-column-values
    • prepend-to-list
    • query-datatable
    • remove-columns
    • remove-duplicate-list-values
    • remove-duplicate-rows
    • rename-columns
    • rename-newick-leaf-labels
    • replace-blank-values
    • replace-values-in-columns
    • replace-values-in-list
    • replace-values-in-text
    • reshape-long-to-wide
    • reshape-wide-to-long
    • reverse-geocoding
    • run-openai-model
    • run-replicate-model
    • run-workflow
    • sample-datatable
    • select-columns
    • select-list-values
    • select-rows
    • send-email-message
    • sort-datatable
    • sort-list
    • split-column
    • split-geographical-coordinates
    • split-list
    • summarise-datatable
    • transform-columns
    • workflow-repeater
  • Applying Data-flo
    • Basics in Minutes!
      • Quick Workflow
        • Step 1: Configure a solo adapter to view data.
        • Step 2: Add and link a second adaptor.
        • Step 3: Add a value.
        • Step 4: Complete the workflow.
        • Step 5: Run the workflow.
        • Step 6: Share the workflow.
  • API
    • Data-flo API
    • API Access Tokens
  • Support
    • Contact and Feedback
    • Private Installations
Powered by GitBook
On this page
  • Description
  • Inputs
  • Outputs
  • Examples
  • Example 1: Default behaviour.
  1. Adaptor reference guide

apply-force-directed-layout

Previousappend-to-listNextcalculate-column

Last updated 1 year ago

Description

apply-force-directed-layout adaptor utilises to arrange the graph's nodes in two-dimensional space such that the edges are roughly equal in length and there is minimal overlap between them.

This is achieved by applying forces between the edges and nodes, which are determined by their spatial relationships.

Inputs

graph Type: graph Required: Yes The graph structure.

stiffness Type: number Required: No Defaults to 400.0.

repulsion Type: number Required: No How much each node should node push each other away. If unspecified, defaults to 400.0.

damping Type: number Required: No The amount to lessen the force to be applied. If unspecified, defaults to 0.5.

min energy threshold Type: number Required: No The minimum amount of force that should be applied. If unspecified, defaults to null.

max speed Type: number Required: No The maximum amount of speed that should be applied. If unspecified, defaults to null.

Outputs

graph Type: graph A force-directed graph drawing.

Examples

Example 1: Default behaviour.

Inputs:

graph:

{ 
  "nodes": [ 
    { "id": "a" },
    { "id": "b" }, 
    { "id": "c" }
  ],
  "edges": [
    { "id": "edge-1", "from": "a", "to": "b" },
    { "id": "edge-2", "from": "a", "to": "c" }
  ]
}

Outputs:

graph:

{ 
  "nodes": [ 
    { "id": "a", "attributes": { "x": -0.3344754101595267, "y": 0.011564418302125241 } },
    { "id": "b", "attributes": { "x": 2.1086496683204, "y": -0.18495166054222117 } },
    { "id": "c", "attributes": { "x": -2.7775956240311155, "y": 0.2081409655145249 } }
  ],
  "edges": [
    { "id": "edge-1", "from": "a", "to": "b" },
    { "id": "edge-2", "from": "a", "to": "c" }
  ]
}
force-directed graph layout algorithm