Giter Site home page Giter Site logo

metal-charts's People

Contributors

bryceosterhaus avatar jbalsas avatar

Stargazers

 avatar

Watchers

 avatar  avatar

metal-charts's Issues

Default Chart UX

Based on our designs, there are some things we want to tweak for our default chart offering. See this invisio for reference

Palette

The default palette color and palette order needs to be updated to account for better visual accessibility.
screen shot 2017-10-10 at 18 11 06

Marker shapes, Line Paths, Grid and Tooltips

We need to provide default markers (and optionally different line paths) matching the color palette which also helps telling chart series apart from each other. The default grid and tooltip is also different.
screen shot 2017-10-10 at 18 11 15

Real Examples

screen shot 2017-10-10 at 18 11 37

We need to implement the shapes and line paths, and create the proper css for the palette, tooltip, grid and other elements. The question is...

Can we do it in this package, or should we keep metal-charts raw and move this somewhere like clay and clay-components?

Thoughts, @Robert-Frampton, @eduardolundgren, @brunobasto?

Customize the data structure

Currently billboard.js consumes data like this. Where the first element of each column array is the id of the column. That id can then be used in other config properties such as types and colors.

data: {
	columns: [
		["data1", 30, 200, 100, 170, 150, 250],
		["data2", 130, 100, 140, 35, 110, 50]
	],
	types: {
		data1: "line",
		data2: "area-spline"
	},
	colors: {
		data1: "red",
		data2: "green"
	}
}

I find this confusing, especially considering that most developers will have to construct these arrays every time they need to pass data to the component. It also seems prone to bugs and side affects.

My suggestion to provide a more natural data structure, and then to map it to whatever billboard needs.

columns: [
	{
		id: 'data1',
		data: [30, 200, 100, 170, 150, 250],
		type: 'line',
		color: 'red'
	},
	{
		color: 'green',
		data: [130, 100, 140, 35, 110, 50],
		id: 'data2',
		type: 'area-spline'
	}
]

That way we can simplify the api and make this more accessible to devs.

Fix grid option

We have the ablity to set the grid option, but it seems that it does not render the grid lines.

Missing dependencies in package.json

We are missing apparent dependencies in package.json like:

  • metal-component
  • metal-state

Also... is the bootstrap dependency really needed?

  • Is it the base for the billboard css?
  • Do we use its js?
  • Is it for demo purposes?

Data API instead of Columns

When used like:

new PieChart({columns: ...});

The API can be a bit confusing... maybe we could change it for something like data and points, @Robert-Frampton ?

Publish sourcemaps

We are transpiling but not including sourcemaps in the lib folder. We need to transpile and include them so when used, proper sourcemaps are found.

Publish to npm?

I don't see metal-charts published to npm. Would it be possible to add it?

Thanks!

Missing AreaChart helper?

One very common chart seems to be AreaChart, but we don't have a specific helper for it. Would it make sense?

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.