Charticulator In Power BI #13 – Polar Scaffolds. Pies, Peacocks & Nightingales

Thumbnail

Polar Scaffolds. Pies, Peacocks & Nightingales.

In my last post, I took you through using Horizontal and Vertical Line Scaffolds. It was there that I think we concluded we’d probably rather use sub-layouts, not Scaffolds to lay out our charts horizontally or vertically, mainly because sub-layouts give us a lot more design choices. However, there is another type of Scaffold for which hopefully you will find a plethora of uses. If you want to design circular chart types such as pie charts or nightingale charts, you will need to apply the Polar Scaffold and, unlike Horizontal Line and Vertical Line Scaffolds, you get a good choice of sub-layouts to work with.

So in this post, let’s get to grips with the Polar Scaffold. We will also take a look at the “Custom Curve” Scaffold which includes a tool for creating spiral charts. Just to whet your appetite with what you’re going to achieve if you read this post, take a look at these charts:-

Pie Chart with multiple categories

Nightingale Chart

Spiral Chart

Image
Pie Chart
Image
Nightingale Chart
Image
Spiral Chart

Circular Chart

Peacock Chart

Custom Curve

Image
Circular Chart
Image
Peacock Chart
Image
Custom Curve

They’ve all been generated using either the Polar or Custom Curve Scaffold. Liking the look of these? If the answer is yes, then read on and I’ll show you how they were built.

To start, you’ll need a chart similar the one below that uses two categorical fields and one numeric field. Then, in the example below, using a rectangle mark in the glyph pane, I’ve bound the SalesPerson field to the “Fill” attribute.

Using these fields…

… and using a rectangle mark, I’ve created this chart

Image
Charticulat7
Image
Charticulat8

Applying a Polar Scaffold

To apply the Polar scaffold, select it from the Scaffolds button on the menu bar

Image
Screenshot

and then drag the Polar scaffold on to the plot segment.

Select the Polar Scaffold…

…drag and drop it onto the plot segment…

…and you will get a donut chart!

Image
Scaffolds
Image
Dataset
Image
Dataset

The chart has now changed from a rectangular style of chart that uses an X and Y Axis (known as a “cartesian” chart) to a circular “donut” style of chart. Notice you get a segment for every Year for every SalesPerson, 30 segments in all. Also notice that applying a Polar Scaffold creates a “Polar” plot segment. This can be identified in the Layers Pane because of its different icon.

Image
Layers

To change the “donut” into a “pie”, drag inwards on the inside edge of the chart. You can increase the circumference by dragging on the outer edge. You can also drag on the edge of a segment to increase the gap between the segments.

Drag inwards on the inner edge…

…to decrease the hole

Image
Chart Example 1
Image
Chart Example 2

Drag outwards on the outer edge…

…to increase the circumferance

Image
Example 3
Image
Example 4

Drag between two segments…

…to widen the gap

Image
Chart Example 5
Image
Example 6

If you want to start and end the chart at a specific angle, for example to create an arc layout, you can drag in a circular direction on the handles at the top of the chart.

Drag on these handles…

…at the top of the chart…

…to change the angle where the chart starts

Image
Screenshot
Image
Screenshot
Image
Chart

 …and create an arc layout.

Image
Arc

Binding Fields to Polar Axes

A Polar plot segment has two axes; Angular and Radial. You can drag categorical fields into either the Angular or Radial axis by dragging directly onto the plot segment or by using the attributes pane:

Image
Screenshot
Image
Thumbnail

Just like a cartesian type chart, you can put either a categorical field or a numeric field into either of these axes but in this post, we will only be using categorical axes.

Note: There are some scenarios where you might need a numeric axes with the Polar plot segment but it this was the case, you would use a “Data Axis”, the subject of a later post.

Once you have plotted the axis you want, you can then further change the layout of the circular chart by using one of the sub-layouts:-

Image
Angular Stack

 

We’re now going to look at the outcome of applying these sub-layouts, combining them with either an Angular or Radial Axis.

Angular Axis and Stack Angular

For instance, I’ve used the Year field on the Angular axis and I’m using the default sub-layout “Stack Angular”. I’ve dragged the SalesPerson field into the “Fill” attribute of the rectangle Shape1.

Image
Angular Axis
Image
Chart
Image
Thumbnail

To see the Sales values, I’ve then dragged the numeric Sales field into the “Height” attribute of the rectangle shape. With Sales still in the Height attribute, I’ve then clicked into the plot segment and change the alignment e.g. to “Top”:-

 

Using the Angular Axis and Stack Angular Sub-Layout

You can also change the alignment

Image
Screenshot
Image
Screenshot

Creating the Peacock Chart

You can use the combination of an Angular Axis and Stack Radial sub-layout to create a peacock chart. You can see that using the chart above left, I have dragged on the handles (circled in red below) to create an arc shape.

Image
Chart

 I then changed the Shape of the mark to an “Ellipse” and swapped the Year Field in the “Fill” attribute for the Sales field, giving it a “Spectral” gradient fill.

Use the “Ellipse” shape and a “Spectral” fill.…

…and you get a Peacock chart

Image
Screenshot
Image
Screenshot

With a few tweaks such removing Year from the Angular axis and replacing it with a Text mark that concatenates Year and Salesperson (see my blog post, Charticulator in Power BI #9) and giving the chart a black background, I ended up with this:-

Image
Screenshot

You may also notice that I’ve filtered the SalesPerson field to show only three SalesPeople.

Height to Area

When you bind a numeric field to the “Height” of a glyph, when plotted in a Polar plot segment, the heights of the glyphs will be proportional, but the areas will be skewed for smaller values as the radius decreases. The outcome of this is that smaller values look disproportionally smaller relative to area. The reason for this is that the “Height to Area” attribute of the Polar segment is checked off.

“Height to Area” checked off

The heights of the glyphs are proportional but not the area.

Image
Screenshot
Image
Screenshot

If you want the area of the glyph to reflect the value bound to the “Height” attribute, check on the “Height to Area” attribute.

“Height to Area” checked on

The areas is proportional, not the height.

Image
Screenshot
Image
Screenshot

 

Use this check box to bind the value bound to “Height” to the area of each segment, as opposed to the height.

Angular Axis and Stack Radial

With Sales still in the “Height” attribute and the alignment set to “Bottom”, you can click into the plot segment, and change the sub-layout to Stack Radial:-

Image
Screenshot

You can see that the chart above is the basis of this Nightingale Chart:-

Image
Screenshot

Notice how I’ve edited the colours used for each SalesPerson and I’ve hidden the Year field on the Angular Axis. I then used a Text mark bound to the glyph and bound the Year field to it. So that the Text mark only appears at the top of each segment, I used the “Visibility” attribute of the Text mark and bound the SalesPerson field to it, selecting only SalesPerson “Abel”.

Image
Screenshot

 

Radial Axis and Stack Angular

Starting with this chart :-

Using these fields…

… and using a rectangle mark.

Image
Screenshot
Image
Screenshot

Apply the Polar Scaffold…

…and put the Year field onto the Radial Axis…

…you could then put the Sales field into the “Width” attribute

Image
Polar Scaffold
Image
Screenshot
Image
Width

Radial Axis and Stack Radial

Apply the Polar Scaffold… …and put the Year field onto the Radial Axis and Stack Radial… …you could then put the Sales field into the “Width” attribute
Image
Screenshot
Image
Screenshot
Image
Screenshot

 

You can see that the last chart on the right is the basis of this chart:-

 

Image
Screenshot

In this chart, I’ve simply changed the “Fill” attribute of the shape and bound Year to it, rather than SalesPerson. To get the “wispy” effect, I then changed the shape of the glyph to an ellipse rather than a rectangle.

Working with the Custom Curve and Spiral Scaffold

For this I used these fields:-

Image
Screenshot
Image
Screenshot

 

To create the chart, I used a rectangle shape in the glyph pane and put Sales into the “Height” attribute and SalesPerson into the “Fill” attribute and Year went on the X-Axis.

I then dragged the Custom Curve Scaffold into the Plot Segment

Image
Scaffolds

You can then use the pencil button top right to draw your own curve.

Image
Screenshot
Image
Screenshot

To create a spiral, click on the spiral button

Image
Screenshot

 

Image
Screenshot

Now you can specify the “Wingdings” which determines the tightness of the spiral. The bigger the number, the tighter the spiral. By default the spiral will start at the 180 degree point (i.e. at the bottom of the spiral) but you can change this in the “Start Angle” attribute.

In the chart below, I used the same rectangle shape in the glyph but this time put Sales into the “Width” and “Fill” attributes, selecting a “Spectral” gradient fill. I changed the “Height” attribute to 40. At this stage the chart looks a bit odd but don’t worry.

Image
Screenshot

I then applied the “Custom Curve” Scaffold and clicked on the Spiral button, changing the “Wingdings” attribute to 2. I also closed the gap in the plot segment attributes to pull the shapes together. 

Image
Screenshot

That’s a pretty cool chart, eh? Don’t you agree that at last we’re beginning to tame the beast that is Charticulator! But we’ve only just started. Next stop, the “Line” plot segment. You may not think that a “line” could ever be very exciting but believe me, this will be mind-bending stuff! Or do I just need to get out a bit more? Anyway, onward and upward to my next blog post on the Line Plot Segment. 

Add new comment

The content of this field is kept private and will not be shown publicly.