npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

d3-parliament-chart

v0.0.6

Published

parliament / congress / legislature charts simplified

Downloads

1,579

Readme

d3-parliament-chart

parliament / congress / legislature charts simplified

Installing

If you use NPM, npm install d3-parliament-chart. Otherwise, download the latest release.

API Reference

# parliamentChart(data, width)

Given an array of objects and the width of the chart, parliamentChart() creates an object that can either be used to return processed seat locations or called on a d3 selection directly. The height is automatically set to half of the width. The most basic usage of this plugin:

d3.select('g').call(d3.parliamentChart([
  { color: 'blue' }, { color: 'blue' }, { color: 'green' }, { color: 'red' }
]))

Note: if data objects contain x and y values, this library will overwrite those values. If the chart is not big enough to accommodate the given settings, it will fit a half circle and any further data points will not be assigned an x / y value.

# pc.data(data)

If data is provided, replaces the raw data in this object. If data is not provided, this function acts like a getter and adds a x and a y attribute to each element in the array, which specifies the coordinates of each point. Seats are arranged in order of their polar degrees, left to right corresponding with 0 to data length respectively.

# pc.aggregatedData(data)

This function provides a more convenient method to set an aggregated version of the data. It takes an array of objects in which each object has a seats key that specifies how many seats this party / color has. For instance, you can pass in:

[{ seats: 48, color: 'blue' }, { seats: 2, color: 'black' }, { seats: 50, color: 'red' }] 

# pc.width(width)

Sets the width used for calculating the points of the parliament chart.

# pc.sections(sections)

Sets the number of sections we want to show in this parliament chart.

# pc.sectionGap(sectionGap)

Sets the gap between sections for this parliament chart.

# pc.seatRadius(seatRadius)

Sets the radius of each seat in this parliament chart.

# pc.rowHeight(rowHeight)

Sets the height of each row for this parliament chart.

# pc.debug(debug)

Takes a boolean that if true, draws a set of guidelines for what this chart is supposed to look like.

Development Mode

Development mode enables you to work on this library locally. To run this repo in development mode, run

npm run dev