Skip to main content
100%

D3.chart.BulleT example

✓ Published0🌍 Public
CCodeXmonk
Last edited Aug 27, 2013
Created on Aug 8, 2013

This example presents bullet charts built with D3 v3 and the d3.chart.js reusable chart framework, demonstrating a variant of Mike Bostock’s bullet chart. It shows multiple vertical and horizontal charts sharing the same dataset, with an additional "humble" chart that contains only a subject’s score—no sample statistics—highlighting how uncertainty or lack of background data affects interpretation. The visualization uses SVG and animated transitions (1-second duration), with buttons to randomize or reset the data. The design emphasizes the concept of “humble data”: when sample statistics are unknown, only raw scores can be compared to general population data. The implementation shows how to reuse a single chart definition across different orientations and datasets, following the reusable chart pattern. The code is structured with D3 v3 and d3.chart.js, and the example includes a single vertical chart with different data from the other charts.

AI-generated description

Another T score bulleT

After finishing this chart I found Jerome Cukier brilliant blog post: d3: scales, and color. I wish I could have read it before I started the first line of code.

This bulleT chart is a variant based on mbostock's bullet with Miso's d3.chart.js

Leonardo’s advice recalling Cennino’s approach: "The painter ought first to exercise his hand by coping drawings by good masters..."

"Zen lesson: Eliminate what doesn’t matter to make more room for what does."

problem - (my) solution (hopefully)

I think: nowadays the level of data visualization quality seems to be much higher than that of our data many times. Is there anything that can be done in terms of that? I suppose that in some situation we can ask our DataVis engine (D3 and D3.chart.js here) to help with this problem. Here I try to find a solution to show how certain or sometimes informative/interesting is the datum that is used for the chart.

the reason why and how I did it can be read and seen here.

( my original bulleT chart is a very simple one, without d3.chart.js, without update button, but can be set horizontally and vertically - feedback is welcomed: @CodeXmonk or codexmonk@gmail.com )

Some of my younger colleagues used to ask for help about interpreting MMPI scores (Minnesota Multiphasic Personality Inventory).

Sometimes a question arose:

"here is the result... it’s normal in general, but just look at that scale... that is so high... what can be the problem?"

My question was: "what’s his business?"

Answer: "don’t know exactly... some kind of IT person... maybe a programmer or something like that."

And me: "that’s the answer!-)"

There is a scale in MMPI the so called Si (Social Introversion) measuring people orientation. I wouldn’t say that software developers are all introverts. I just found it more frequent but it is still my own doubtful experience and a very subjective opinion not based on any research data.

So, if we had a high T score on a (for instance: Si) scale but at the same time we saw higher sample statistics (mean, sd) we could consider it as normal based on that special or peculiar sample or criterion group.

Or we can see something else: when we see nothing

( uncertainty rules everywhere. or where? - I'm not sure)

That would be the "Humble" datum above. Greyish and blueish areas are equal to each other. In a situation like this we will know that there is no any sample statistics in the background – for instance we don’t have research data on introverted software developers:-D

In this situation that very raw score can be compared only with the big, general population data...

And something else can be seen here

or rather in the source code...

The four vertical and four horizontal charts are sharing on the same data ( actually they are just the same, only the horizontal/vertical position is changed ) but the single vertical chart on the margin has different data source... and all of them are using the same d3.chart.bulleT as a base...

It might be something that is explained by Mike Bostock in Towards Reusable Charts and by Irene Ros in Introducing d3.chart and Mike Pennisi Exploring Reusability with D3.js

Similar vizzes