Giter Club home page Giter Club logo

d3plus-network's Introduction

d3plus

D3plus is a JavaScript re-usable chart library that extends the popular D3.js to enable the easy creation of beautiful visualizations.

Installing

If using npm, npm install d3plus. Otherwise, you can download the latest release from GitHub or load from a CDN.

import modules from "d3plus";

d3plus can be loaded as a standalone library or bundled as part of D3plus. ES modules, AMD, CommonJS, and vanilla environments are supported. In vanilla, a d3plus global is exported:

<script src="https://cdn.jsdelivr.net/npm/d3plus@2"></script>
<script>
  console.log(d3plus);
</script>

Resources

Examples and documentation are published in a Storybook here. Each example has controls that are able to modified on the fly, documentation for each method used, and an example code output for the d3plus-react configurations.

Modules

D3plus 2.0 is a collection of modules that are designed to work together; you can use the modules independently, or you can use them together as part of the default build. The source and documentation for each module is available in its repository. Follow the links below to learn more.

Core Packages

React Usage

Examples and Documentation

d3plus-network's People

Contributors

cnavarreteliz avatar davelandry avatar dependabot[bot] avatar greenkeeper[bot] avatar nbond211 avatar rbaheti avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

d3plus-network's Issues

Rings not work: Cannot read property 'id' of undefined

  • I'm not sure why I cannot visit 'https://gitter.im/d3plus/'
  • I'm using 'd3plus-network' in Angular5. It works just fine when I copy and paste the 'simple network 'sample code. But When I try to run 'simple rings' example code. It throws:
ERROR TypeError: Cannot read property 'id' of undefined
    at Circle.fontResize (Rings.js:438)
    at TextBox._fontResize (configPrep.js:22)
    at TextBox.js:94
    at Array.reduce (<anonymous>)
    at TextBox.render (TextBox.js:89)
    at Circle._renderLabels (Shape.js:479)
    at Circle.render (Shape.js:553)
    at Circle.render (Circle.js:48)
    at Rings.js:452
  • My code:
import { Component, OnInit } from '@angular/core';
import * as d3plusNet from 'd3plus-network';

export class test implements OnInit {
    constructor() { }
    ngOnInit() {
    }
    links = [
        { "source": "alpha", "target": "beta" },
        { "source": "alpha", "target": "gamma" },
        { "source": "beta", "target": "delta" },
        { "source": "beta", "target": "epsilon" },
        { "source": "zeta", "target": "gamma" },
        { "source": "theta", "target": "gamma" },
        { "source": "eta", "target": "gamma" }
    ];
    drawD3() {
        new d3plusNet.Rings()
            .links(this.links)
            .label(d => d.id)
            .center("alpha")
            .render();
    }
}
  • I debugged Rings.js. It gets 'id' from d.data.id. I find there is value of d.id

ever-shrinking Rings

{
  data: `/olap-proxy/data.jsonrecords?cube=trade_i_baci_a_92&drilldowns=HS4&measures=Trade+Value&parents=true&sparse=false&Year=2018`,
  dataFormat: resp => {
    const {data} = resp;    
      data.forEach(d => {
        d["id"] = d["HS4 ID"].toString()
      });
    return data;
  },
  type: "Rings",
  center: id,
  label: "",
  links: "/network/network_hs4.json",
  linksFormat: resp => resp.edges,
  total: false
}

An in-range update of d3-force is breaking the build 🚨

Version 1.0.5 of d3-force just got published.

Branch Build failing 🚨
Dependency d3-force
Current Version 1.0.4
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3-force is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes v1.0.5
  • Update dependencies.
Commits

The new version differs by 3 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

"d3plus.Network is not a constructor"

I've been trying to use d3plus 2.0 for a number of visualizations, but every time I try to use the new module/class structure, I get an error of "X" is not a constructor. The images below show the failure which is specific to the network class, but I get the same failure whenever I try any other class from the 2.0 examples page.

This is my basic script and failure:
d3pluserror

This is my basic HTML file:
image

This is my package.json (showing the 2.0 version installed by npm):
image

Is this an error on my part (very likely), or is something else wrong?

An in-range update of d3-zoom is breaking the build 🚨

Version 1.4.0 of d3-zoom just got published.

Branch Build failing 🚨
Dependency d3-zoom
Current Version 1.3.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

d3-zoom is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 2 commits.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of d3-selection is breaking the build 🚨

Version 1.0.5 of d3-selection just got published.

Branch Build failing 🚨
Dependency d3-selection
Current Version 1.0.4
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3-selection is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Release Notes v1.0.5
  • Update dependencies.
Commits

The new version differs by 3 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of d3-array is breaking the build 🚨

Version 1.0.3 of d3-array just got published.

Branch Build failing 🚨
Dependency d3-array
Current Version 1.0.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3-array is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes v1.0.3
  • Update dependencies.
Commits

The new version differs by 6 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Network is not displayed if string id is used in "source" and "target" keys in links

Expected Behavior

Network is displayed if the source and target keys in each link map to a String value matching the id of the node.

var nodes = [
  {id: "alpha", x: 1, y: 1},
  {id: "beta", x: 6, y: 1},
  {id: "gamma", x: 4, y: 4}
];

var links = [
  {source: "alpha", target: "beta"},
  {source: "alpha", target: "gamma"}
];

new d3plus.Network()
  .links(links)
  .nodes(nodes)
  .render();

Current Behavior

Network is not displayed, exception in console.

d3plus-network.v0.5.full.min.js:31 Uncaught TypeError: Cannot read property 'id' of undefined
    at d3plus-network.v0.5.full.min.js:31
    at Array.reduce (<anonymous>)
    at t [as _draw] (d3plus-network.v0.5.full.min.js:31)
    at hg._call (d3plus-network.v0.5.full.min.js:31)
    at pg (d3plus-network.v0.5.full.min.js:7)
    at hg.awaitAll (d3plus-network.v0.5.full.min.js:7)
    at t [as render] (d3plus-network.v0.5.full.min.js:31)
    at window.onload ((index):44)

Steps to Reproduce

  1. Create a JSFiddle out of this example.
  2. Replace indexes of nodes in links with String values of the id key in nodes.
  3. Example: https://jsfiddle.net/ucdx801f/

An in-range update of d3-brush is breaking the build 🚨

Version 1.0.4 of d3-brush just got published.

Branch Build failing 🚨
Dependency d3-brush
Current Version 1.0.3
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3-brush is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Release Notes v1.0.4
  • Update dependencies.
Commits

The new version differs by 2 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

improve Sankey algorithm

In this moment, Sankey diagram works fine, but it's very restrictive with the data format. For example, you need passing a variable with nodes and links, you cannot passing a PATH URL for links / nodes.

I propose improve how the Sankey diagram works, simplifying at least the data passed into links attribute.

[rendering] issue in bubbles opacity/order

Expected Behavior

Like oec in prod:
Screen Shot 2021-06-15 at 15 10 09

Current Behavior

Like oec in dev:
Screen Shot 2021-06-15 at 15 09 58

Steps to Reproduce (for bugs)

  1. Go to france profile
  2. Product space section
  3. Click on Delivery Trucks bubble

Your Environment

  • Browser Name: chrome
  • Operating System and Version: mac os

Error on 1:1 network

I am working on implementing the Network library and am getting a Uncaught TypeError: e is null error when there is a 1:1 network, as in there are only two nodes with only one link in between. I find that 1:n networks render fine. You should be able to replicate this with your own example by reducing the nodes object to 2 items and reducing the links to only one object with a {source : 0, target : 1}.

unable to load nodes/links from URL and file paths

I took HS92 data (exports, nodes and links) from the OEC to show the product space.

This is my HTML file:

<!doctype html>
<html>

<head>

  <meta charset="utf-8">
  <script src="https://d3plus.org/js/d3plus-network.v0.1.full.min.js"></script>

  <style>

    body {
      margin: 0;
      overflow: hidden;
    }

  </style>

</head>

<body></body>

<script>

  new d3plus.Network()
            .data("chl_chn_2010_hs92_4.json")
            .links("edges_hs92_4.json")
            .nodes("nodes_hs92_4.json")
            .render();

</script>

</html>

Chrome inspector shows this error:

Uncaught TypeError: this._nodes.reduce is not a function
    at e [as _draw] (d3plus-network.v0.1.full.min.js:7)
    at tv._call (d3plus-network.v0.1.full.min.js:7)
    at av (d3plus-network.v0.1.full.min.js:7)
    at d3plus-network.v0.1.full.min.js:7
    at d3plus-network.v0.1.full.min.js:7
    at Object.<anonymous> (d3plus-network.v0.1.full.min.js:7)
    at ta.call (d3plus-network.v0.1.full.min.js:7)
    at XMLHttpRequest.f (d3plus-network.v0.1.full.min.js:7)```

An in-range update of d3-scale is breaking the build 🚨

Version 1.0.5 of d3-scale just got published.

Branch Build failing 🚨
Dependency d3-scale
Current Version 1.0.4
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3-scale is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Release Notes v1.0.5
  • Update dependencies.
Commits

The new version differs by 2 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of d3plus-common is breaking the build 🚨

Version 0.6.15 of d3plus-common just got published.

Branch Build failing 🚨
Dependency d3plus-common
Current Version 0.6.14
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3plus-common is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Release Notes v0.6.15
  • updates d3-array to v1.1.1 (6f44c40)
  • fix(package): update i18next to version 7.1.2 (#72) (ef501ca)
  • chore(package): update d3plus-dev to version 0.3.1 (#71) (4ee5c5d)
Commits

The new version differs by 4 commits .

  • 6f44c40 updates d3-array to v1.1.1
  • ef501ca fix(package): update i18next to version 7.1.2 (#72)
  • 4ee5c5d chore(package): update d3plus-dev to version 0.3.1 (#71)
  • e93f795 compiles v0.6.14

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of d3plus-dev is breaking the build 🚨

Version 0.4.11 of d3plus-dev just got published.

Branch Build failing 🚨
Dependency d3plus-dev
Current Version 0.4.10
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3plus-dev is β€œonly” a devDependency of this project it might not break production or downstream projects, but β€œonly” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v0.4.11
Commits

The new version differs by 35 commits.

There are 35 commits in total.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Displaying images on nodes

I have a pretty extreme edge use case, where I am using the d3plus network to create a graph of the links between symbols that appear in conjunction with each other on ancient Greek coins. These symbols have SVG representations, and ideally I would like to display them in some way within the network visualization. I attempted the following in the config:

label: function (node) {
            if (node.hasOwnProperty('image')) {
                return node.label + ' <img src="' + node.image + '" style="width:16px"/>';
            } else {
                return node.label;
            }
}

Because the d3plus visualization is SVG itself, injecting a bit of HTML into label doesn't do anything, although surprisingly the tooltip will display the SVG graphic (see attached image).

Is there any solution for this? Ideally, I would like to embed the SVG graphic into the node circle, but displaying the SVG in the tooltip is acceptable enough. However, as you can see in the screenshot, the <img> tag is just displayed as text in the node. Is it possible to control the tooltip more directly, or is it inextricably bound to the label?

Screenshot from 2021-06-04 10-17-27

An in-range update of d3-zoom is breaking the build 🚨

Version 1.1.3 of d3-zoom just got published.

Branch Build failing 🚨
Dependency d3-zoom
Current Version 1.1.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As d3-zoom is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Release Notes v1.1.3
  • Update dependencies.
Commits

The new version differs by 2 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.