Laden und Verwenden von JSON für Cytoscape.js

SumNeuron

Kontext

Ich möchte zur cytoscape.jsVisualisierung von Grafiken verwenden. Während ich mit einer Vielzahl von Sprachen fähig bin ( C++, Mathematica, R, usw.), ich bin neu Javascript, JSON, HTML, und CSS. Daher wäre es günstig, diese Sprachen anhand dieses Anwendungsfalls zu lernen (Implementieren von Graphen mit cytoscape.js). Bitte beachten Sie dies in Ihrer Antwort.

Ich habe zuvor gefragt, wie [aus der Ferne geladen werden soll cytoscape.jsund wie Diagramme angezeigt werden sollen (erfordert a div) . Seitdem habe ich ein Skript erstellt, das ein Diagramm, wie es in einer der anderen von mir verwendeten Sprachen dargestellt wird, in das hierJSON angegebene Format umwandelt . Während ich all dies einfach direkt in mein Programm kopieren und einfügen kann, ist dies für große Netzwerke eindeutig eine schlechte Möglichkeit, es zu implementieren. Ein Beispiel für die Ausgabe meines Skripts finden Sie unten.

Frage

JSONWie kann ich bei einem Objekt / einer Datei (?) Folgendes tun:

  • Laden Sie es in, cytoscape.jsohne den Code zu kopieren.
  • nach dem Laden darauf verweisen. (zB grundlegende Erklärung, wie JSON-Syntax zur Verwendung in cytoscape.js)

Skriptausgabe

cytoscape({

container: document.getElementById('cy'),

elements: [ 
{// node Node 1
    group: 'nodes',

    data: {
        id: 'Node 1'
    },

    selected: false,

    selectable: true,

    locked: false,

    grabbable: true,

    selectable: true,

},
{// node Node 2
    group: 'nodes',

    data: {
        id: 'Node 2'
    },

    selected: false,

    selectable: true,

    locked: false,

    grabbable: true,

    selectable: true,

},
{// node Node 3
    group: 'nodes',

    data: {
        id: 'Node 3'
    },

    selected: false,

    selectable: true,

    locked: false,

    grabbable: true,

    selectable: true,

},
{// edge 1_2
    group: 'edges',

    data: {
        id: '1_2',
        source: '1',
        target: '2'
    }
},
{// edge 2_3
    group: 'edges',

    data: {
        id: '2_3',
        source: '2',
        target: '3'
    }
},
{// edge 3_1
    group: 'edges',

    data: {
        id: '3_1',
        source: '3',
        target: '1'
    }
}
],
style: [
    {
        selector: 'node',
        style: {
            'content': 'data(id)'
        }
    }
]

});
Dolittle Wang

<head>
    <title></title>
    <script src="js/vendor/cytoscape.min.js"></script>
    <script src="js/vendor/jquery.min.js"></script>
</head>

<style>
    #cy {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0px;
        left: 0px;
    }
</style>

<body>
    <div id="cy"></div>
    <script>
        $.getJSON("cyto.js", function (data) {
            //console.log(data);
            var cy = cytoscape({
                container: document.getElementById('cy'),
                elements: data,
                style: [
                    {
                        selector: 'node',
                        style: {
                            'label': 'data(label)',
                            'width': '60px',
                            'height': '60px',
                            'color': 'blue',
                            'background-fit': 'contain',
                            'background-clip': 'none'
                        }
                    }, {
                        selector: 'edge',
                        style: {
                           'text-background-color': 'yellow',
                            'text-background-opacity': 0.4,
                            'width': '6px',
                            'target-arrow-shape': 'triangle',
                            'control-point-step-size': '140px'
                        }
                    }
                ],
                layout: {
                    name: 'circle'
                }
            });
        });
    </script>
</body>

In cyto.js können Sie beispielsweise gültige JSON-Daten eingeben

  {
    "nodes": [
            {
            "data": {"id": "a", "label": "Gene1"}
            },
            {
            "data": {"id": "b", "label": "Gene2"}
            },
            {
            "data": {"id": "c", "label": "Gene3"}
            },
            {
            "data": {"id": "d", "label": "Gene4"}
            },
            {
            "data": {"id": "e", "label": "Gene5"}
            },
            {
            "data": {"id": "f", "label": "Gene6"}
            }
    ],
            "edges": [
            {
            "data": {
            "id": "ab",
                    "source": "a",
                    "target": "b"
            }
            },
            {
            "data": {
            "id": "cd",
                    "source": "c",
                    "target": "d"
            }
            },
            {
            "data": {
            "id": "ef",
                    "source": "e",
                    "target": "f"
            }
            },
            {
            "data": {
            "id": "ac",
                    "source": "a",
                    "target": "d"
            }
            },
            {
            "data": {
             "id": "be",
                    "source": "b",
                    "target": "e"
                }
                }]    
    }

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Verwenden von Cytoscape JS mit JHipster Angular

Laden von Addressables und Verwenden von ContinueWith ()

Verwendung und Laden von Atom in Golang verwenden

Verwenden von Laden und Speichern in WebAssembly

Verwenden von Express-Lenkern mit Cytoscape.js

Laden von jQuery und eigenem JS

Vue.js: Verwenden von vorgerendertem HTML als Vorlage für übergeordnete und untergeordnete Komponenten

Verwenden von "get" - und "apply" -Proxy-Traps für ein einfaches JS-Objekt

Verwenden von Gatsby.js für dynamische und statische Webanwendungen

Verwenden von Futures zum Laden von config.json in Flutter

Laden von Bildern und Beschriftungen in Torch für ein Faltungsnetzwerk

Referenzieren von Klassenmethoden und Laden und Iterieren von JSON in Ruby

Verwenden von Rollup für den AoT-Compiler von Angular 2 und Importieren von Moment.js

Webpack Loader-Konfiguration zum Laden von CSS- und Sass-Dateien für React JS

Ich benötige eine Empfehlung für die Struktur, um Cytoscape js zu verwenden

Verwenden von "if" für Zeichenfolge und Verwenden von "bitweisem UND" oder "logischem UND"

Verwenden von stargazer für lfe und Erhalten von Fehlern

Verwenden von grep für "und" anstelle von "oder"

Verwenden von c # zum Parsen von JSON-Daten aus dem Büro für Arbeit und Statistik

Verwenden von "DispatchGroup" oder einem Nebenläufigkeitskonstrukt, um Daten zu laden und Zellen in "UITableViewController" sequenziell zu füllen

Verwenden von d3js zur Berechnung von Mittelpunkten und Kurvenpfaden für quadratische SVG-Konnektoren

Verwenden von Rückgängig und Wiederherstellen für JTextArea

Verwenden von Sortieren und Rangieren in R für mehrere Spalten

Verwenden von CSS für einen Einblendeffekt beim Laden von Seiten

Verwenden von systemjs zum Laden von Dateien für die Cordova-App

Laden von js-grid und Filtern von Daten

Python: Serialisierung der logistischen Regression in JSON und Laden von JSON

Speichern und Laden von App-Einstellungen für Funktionen als JSON-Objekt mit C # - und Azure-Funktionen 2.x.

Array in json laden, Array wieder in Programm laden und global mit NodeJS verwenden

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv