GithubHelp home page GithubHelp logo

ibm-design / charts Goto Github PK

View Code? Open in Web Editor NEW
28.0 28.0 13.0 25.81 MB

Code implementations of the IBM Design Language's data visualization guidance.

Home Page: http://www.ibm.com/design/language/experience/data-visualization/chart-models/

License: Other

JavaScript 100.00%

charts's People

Contributors

gao8a avatar matthewgallo avatar photodow avatar seejamescode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

charts's Issues

C3 and Adoption Open Conversation

I was hoping to start an open conversation around our current use of C3, and the adoption of this library.

  1. I’m concerned about our use of C3js because that project appears to be dead to me. There has not been any active development around it for nearly a year now. They also haven't added support for D3 v4 yet. I’ve reached out to their team to see how I could get involved with contributing back, and they never responded back to me.

  2. I’ve also been trying to get some developers here and there to try and adopt the IBM-Charts line chart with no luck. A couple things they are concerned about is the fear it’s another Northstar, or it’s an extra dependency on top of not only D3, but C3 as well. Another problem I've heard is that they need say a line chart, and a pie chart. Since our project (at the moment) only has a line chart they are choosing other libraries that have both charts.

  3. Another problem that I’m concerned with around adoption is that we’re building these out based on business needs. Once a business need has been identified it doesn’t seem like the developers have time to contribute to IBM-Charts to solve that business need or don't see the value in contributing back, so they find another more developed out tool that solves their problem faster. Sometimes that alternative is C3.

One thing I've thought about is we could look at is forking C3 (since it’s essentially dead). That in turn will give us a large set of charts to start with. We can work as we get time to refactor and make it more modular, upgrade it to support D3 v4, and apply the Design Language visuals/interactions (we are essentially doing this part already by adding another layer on top of D3 & C3) to the default styles. And then we would have control of adding new charts like radar which C3 has been saying they would add for 3 years now. I see this in turn providing more flexibility, and performance improvements. Maybe I'm wrong, but I also feel like applying our styles to the C3 framework may go faster, and provide a way for developers new to data visualization feel like they can contribute and help ignite and overcome that initial D3 learning curve.

Sorry for the book, but these were just some thoughts I've been having and wanted to get them off my chest. I'd love to hear if y'all have any alternative solutions. Thanks!

Visual specs template file

This will enable multiple visual designers to contribute to IBM Design Charts. We are already seeking a Sketch visual spec file for each chart type. If there was a starter file, a new visual designer could work on these many future issues.

@winslet, would you be down to take this one first for us?

charts-colors

A developer needs to be able to import this package into their chart file and call pre-defined color palettes.

Yarn Watch Fails

Do you want to request either a feature or user story, or report a bug?
Bug

What is the current behavior?
yarn test -- --watch fails after previous steps in readme. I have Node v6.9.1 installed.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/reactjs/69z2wepo/).

Determining test suites to run...2017-01-12 18:54 node[3468] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-01-12 18:54 node[3468] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-01-12 18:54 node[3468] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Error watching file for changes: EMFILE
    at exports._errnoException (util.js:1026:11)
    at FSEvent.FSWatcher._handle.onchange (fs.js:1406:11)
error Command failed with exit code 1.
info Visit http://yarnpkg.com/en/docs/cli/test for documentation about this command.

What is the expected behavior?
Get to work on the project!

Hover/Focus state

Do you want to request either a feature or user story, or report a bug?
Feature

What is the current behavior?

What is the expected behavior?

The hover/focus sate of an item in a chart should better reflect the IBM Design Language.

Get official Design specs

In order to start working on the implementation of each chart, we're going to need official design resources to make sure that we're matching the latest version of the design language charts.

What process are we going to follow for this, and who are the points of contact for managing this from a design perspective?

cc @seejamescode

Name Research

Preferably a historical nod to IBM in some way. Everything is fair game though!

Bonus: Promoting diversity

What technology to utilize?

The choice should be based on:

  • Current open-source support
  • Impact on current IBM offerings
  • Enables a speedy 1.0 release

Brushing: replace with D3 implementation

Do you want to request either a feature or user story, or report a bug?
Feature.
What is the current behavior?
Brushing demo is currently done in pure SVG with D3 event handling.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/reactjs/69z2wepo/).

What is the expected behavior?
Brushing example should be done entirely in d3 to remove bulk from index.html

Initial 1.0 Milestone Planning

We have approximately six, two-week sprints currently planned for this milestone, although this definitely can change as needed. I figured we could categorize the existing chart models in terms of levels of complexity in order to make each sprint balanced in terms of goals. As a first attempt, here's what I'm thinking:

Level 1:

  • Bar chart
  • Line chart
  • Stacked bar chart
  • Piechart
  • Scatterplot
  • Heatmap

Level 2:

  • Treemap
  • Map
  • Flows
  • Bubble chart
  • Radar

Level 3:

  • Network

Sprint Planning

Assuming the current deadline, here's how we could break up the current work in terms of chart deliverables:

Sprint 1:

  • Bar chart
  • Line chart

Sprint 2:

  • Stacked bar chart
  • Treemap

Sprint 3:

  • Piechart
  • Map

Sprint 4:

  • Scatterplot
  • Flows

Sprint 5:

  • Heatmap
  • Bubble chart

Sprint 6:

  • Radar
  • Network

In addition to delivering on the charts directly, we'll also have to be aware of documentation and usage examples of the existing charts. We also should try and actively recruit contributors for existing implementations, as well as shepherds for framework/library-level implementations.

Thoughts?

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.