Skip to content

Add support for ticks.source: 'data' to category scale #4776

@ortonomy

Description

@ortonomy

Expected Behavior

I expect that using the new 2.7 feature of defining a bar chart using arrays of objects with x/y values e.g. [{x: ..., y: ...}, ...] to generate the x labels and y values on a barchart as per the docs here: http://www.chartjs.org/docs/latest/charts/bar.html

You can also specify the dataset as x/y coordinates.

data: [{x:'2016-12-25', y:20}, {x:'2016-12-26', y:10}]

Current Behavior

See interactive pen here: https://codepen.io/ortonomy/pen/NaxVeZ

Providing a data.dataset with an array of x/y objects (e.g. data: [{x: ..., y: ...}, ...]) does not render all data points. It only renders a single bar, using the first value of the data set.

The only way that I can get it to display multiple values, is by providing the labels: [...] property to the data object. And even then, the number of bars displayed is only equal to the length of labels: [...].

I may be wrong here, but from what I can tell, the reason for providing the array of x/y objects is so the data itself provides the x label.

Steps to Reproduce (for bugs)

code

data: {
        // labels: ['x','x'],
        datasets: [{
            label: '# of Votes',
            data: [{x: 'label', y: 12}, {x: 'label', y: 19}, {x: 'label', y: 3}, {x: 'label', y: 5}, {x: 'label', y: 2}, {x: 'label', y: 3}]
        }]
    },

link
https://codepen.io/ortonomy/pen/NaxVeZ

Context

The data coming back from my API is already in an object: {x: ..., y: ...} format so you can imagine my joy at seeing this being provided as an option. Now I have to split the data to use x: ... for labels: [...], and then y: ... for data: [...].

Environment

  • Chart.js version:
    2.7.0
  • Browser name and version:
    Chrome 61 Mac OS X
  • Link to your project:
    Can't link -- is private.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions