K Chart

I designed this chart to combine the benefits offered by a Bar chart and a Pie chart. Its closest known alternative is the Pareto chart. With this (new?) chart, the Line graph is replaced by a Waterfall chart, for two main reasons:

  1. It better reflects the discrete nature of the horizontal axis.
  2. It makes it easier to visualize the contribution of each value to the whole.

Also, the Bar chart is replaced by a Level chart in order to reduce the impact of visual collisions between the levels (the colored horizontal ticks) and the bars.

Much like the Pareto chart, this chart uses two vertical axes, one for the value itself, and one for the sum of values. Therefore, these two axes are congruent but use different scales. A more detailed explanation of its genesis is available on this article.

My question is the following: is there any prior art for this chart, and if so, what is it called? Right now, I call it a K chart, because it looks like the uppercase K letter when values are sorted in decreasing order and the "All" bar is displayed on the right.

Benefits over Pie Chart:

  • The display of labels and values is greatly simplified and much more space efficient.
  • The horizontal axis can be epochal (temporal with an epoch, like dates).
  • The layout can be rotated by 90° (in order to support a portrait output for example).
  • There is a clear starting point for reading (left or right depending on language).
  • There is a natural place to display the sum of values.
  • There is a natural place to display deltas or rates of growth.
  • The use of colors is perfectly optional (great for accessibility).
  • The horizontal dimension can never be confused for a directional variable.


  1. Principia Data (Unified Typology of Statistical Variables).
  2. Principia Pictura (Unified Grammar of Charts).


The K chart is nothing more than the superimposition of a Level chart and Waterfall chart:

Level Chart

Waterfall Chart

Bonus Question:

Can we attribute any meaning to the point where the two legs of the K chart intersect? If we had a continuous probability distribution, this would be the solution $i$ to the following equation, with $f(x)$ being a monotonically decreasing function and $\alpha$ being the scaling factor between the two axes:

$\int _{0}^{i}f(x)\,dx = \alpha f(i)$

Of course, we can express $\alpha$ in relation to $f(x)$:

$\alpha = \frac{\int _{0}^{Max(x)}f(x)\,dx}{f(0)}$

Therefore, the equation we have to solve is:

$\int _{0}^{i}f(x)\,dx = \frac{f(i)\int _{0}^{Max(x)}f(x)\,dx}{f(0)}$

This is as far as I could take it...

  • 21
    $\begingroup$ I'd call it a "confusing chart". It is totally unclear what does it show. $\endgroup$
    – Tim
    Commented Dec 26, 2019 at 22:15
  • 5
    $\begingroup$ First time I've seen something like this. You can call it a K chart if you like. Displaying the "value itself and the sum of the values" means it's redundant and you waste a lot of real-estate. Also looks like you truncate the top bar. If I were presented this, I'd say go back and bring me a bar chart. $\endgroup$
    – AdamO
    Commented Dec 26, 2019 at 22:21
  • $\begingroup$ By design, no real estate is wasted compared to a bar chart. And the information shown is exactly the same as a Pareto chart, which is widely used. Also, the top bar is not truncated. Instead, there are two vertical axes with two different scales, like with the Pareto chart. $\endgroup$ Commented Dec 26, 2019 at 22:54
  • 2
    $\begingroup$ I am inclined to view this chart much less negatively than the preceding commenters, because in it I recognize familiar constructs: a discrete distribution (over a nominal set of values) and a cumulative distribution with respect to a useful ordering of the set of values. Avoiding the "waste of real estate," though, would be a controversial design principle Followed even a little bit, it will quickly lead to cluttered, confusing graphics. That might be at the root of some of the criticism. $\endgroup$
    – whuber
    Commented Dec 26, 2019 at 23:06
  • $\begingroup$ @whuber, I agree with you: the goal is not to fill up all available space. The goal is to support the comparison of relative values, like pie charts or Pareto charts do, but without using any additional space. In other words, be as expressive as possible, while remaining as parsimonious as possible. $\endgroup$ Commented Dec 26, 2019 at 23:16

3 Answers 3


I wouldn't promote the name 'k chart' for this. That term is already used as alternative for candlestick charts.

In addition, just using a single letter as a name may sound cool, but it is also gimmicky. It is not very functional. These letters as name do occur, but are often more common for well known tools and used as abbreviation. The letter as a name comes afterwards and is typically not something to start with.

I would use something more descriptive, for example: waterfall Pareto chart.

Sidenote 1:

The use of two y-axes is not very easy and when it is used it is more often in a technical and specialist environment.

I see it for instance often used in bioengineering where technologist map the changes/timeseries for multiple parameters, and they may even use a third or fourth y-axis. The usefulness of this is that the links between the multiple time series can be seen more easily.

In your graph, the use of visualizing this link might not be so much necessary. In addition, the information is already shown in the height of the bars. So adding the additional level chart adds relatively little and may be mostly confusing.

Sidenote 2:

Another problem with this chart is that it mostly functions when displaying a data for a single case.

Line graphs allow you to place multiple cases along each other in a single chart.

About the bonus question:

I am afraid, that I need to say that this point is not of much use. Or, at least, it doesn't have any specific or special meaning.

The reason is because the two y-axis scales have not much relevant relationship with each other. The one scale is the cumulative distribution, the other scale is the density or frequency distribution scaled by the value maximum. Sure, you can attach some meaning to the crossing point (more about that later)... but the choice of the point to attach this meaning to is arbitrary and not special, we could just as well use a different point, for instance the point where the one curve is 10% above the other curve. The crossing point has a visual relevance, but there is not another principle that makes this particular point important.

So what does this point indicate? When this point is early, then it relates to a density/mass curve that is dropping relatively quickly. (and at the same time the Pareto curve increases more quickly)

But, instead of finding the point where it crosses the pareto curve, we can just as well use the something like the halfway point, the point where the density/mass has dropped by half (or we use any other point instead of half, e.g. the point where the curve has dropped to '42%', but the use of '50%' is just easy or convenient).


Revising the Pareto Chart by Leland Wilkinson (2006) offers some interesting variations on the Pareto chart, but none that resembles the K chart. And for reference purposes, here is what a Single Axis Pareto chart looks like for the same dataset:

Single Axis Pareto Chart

And a Dual Axes Pareto Chart:

Dual Axes Pareto Chart

I find the K chart much easier to read than either version of the traditional Pareto chart.

Furthermore, as Leland Wilkinson correctly states:

"[...], there is no theoretical justification for representing the cumulative frequencies with an interpolated line element. Since the categories cannot be assumed to be equally spaced on a scale, we are not justified in interpreting the overall slope or segment slopes in this line. For similar reasons, we are not justified in looking for “kinks” in this line to detect breakpoints or subgroups of problem categories."

This is probably the biggest problem with the traditional Pareto chart, and this problem is solved by replacing the Line graph by a Level chart.

  • 1
    $\begingroup$ It is interesting that your redesign does not overcome Wilkinson's basic objection: namely, that the horizontal spaces between the categories are indeterminate. However, Wilkinson's objection doesn't really apply anyway because the scale of the horizontal axis is the rank, which is quite well determined. $\endgroup$
    – whuber
    Commented Dec 27, 2019 at 16:51
  • $\begingroup$ @whuber I think my redesign actually overcomes Wilkinson's basic objection, because the ticks of the level chart do not depict any slope (unlike the line segment of a Line graph), and these ticks (and corresponding bars) could have any width. But in any case, this is a moot point, because the dimension of the horizontal axis is the rank indeed. But even if you consider the rank as horizontal dimension, depicting a slope for it is misleading in my opinion. $\endgroup$ Commented Dec 27, 2019 at 16:55
  • $\begingroup$ Now, here is an interesting question that is somehow related to all this: can we attach any meaning to the "point" where the two legs of the K chart (the curve of the waterfall and the curve of the level) intersect (somewhere between "Text" and "Finance" on the sample dataset)? If we can, this would make the K chart even more attractive. $\endgroup$ Commented Dec 27, 2019 at 16:57

This chart is a particular case of what could be called a Univariate Combo Chart.

  • 1
    $\begingroup$ I can see how one might conceive of these charts as representing information about 15 variables (each of the "modules") or 2 variables (type of module and count), but not as univariate. Some explanation of the sense in which you mean "univariate" therefore would be helpful. $\endgroup$
    – whuber
    Commented Jan 2, 2020 at 19:37
  • $\begingroup$ @whuber They are univariate in the sense that they are produced from a single variable, which in its most elementary form is a single vector of values (if you're not interested in labels). The linked article provides a bit more context for this. $\endgroup$ Commented Jan 2, 2020 at 20:27
  • $\begingroup$ The term "univariate" seems perfectly appropriate to me: en.wikipedia.org/wiki/Univariate_(statistics) $\endgroup$ Commented Jan 2, 2020 at 20:29
  • 2
    $\begingroup$ I cannot see how you could possibly produce such a chart from a "single vector of values," because you also need a vector of the names of the corresponding modules. That's essential because the values determine the sequence of the names. $\endgroup$
    – whuber
    Commented Jan 2, 2020 at 20:29
  • $\begingroup$ The names contain no data that you can perform any kind of meaningful analysis upon. You might omit them and just use the position in the array as a pointer to the value's corresponding category. $\endgroup$ Commented Jan 2, 2020 at 20:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.