cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Adam_Dunn
Advocate I
Advocate I

How to create a horizontal column chart: Tutorial

Hi all,

 

I just wanted to share a solution to working around the limitations of the built in Column Chart. For those unfamiliar, PowerApps only allows the creation of bar chart to have vertical data bars. This style is not very conducive to mobile screens that have a lot of vertical leeway.

 

Here is what is built in:

image.png

We want something like this:

image.png

 

Luckily, we can do just that but with using our reliable gallery control!

 

  • First we will start with a "Blank Vertical" gallery control with Items:ColumnChartSample
  • Set the template padding to 1 or 0 depending on if you want space between each bar.
  • Shrink the individual items in the gallery to be quite small, just big enough to fit the label and the bar
  • For the bars themselves, I use labels, but you could use rectangle icons.
  • Place your colored bar where you want and size it to fit what you want the maximum value to look like.
    • In my example, the bar label has {Width:350,X:125}
  • Now set the width value to change depending on the value of the current item.
    • Since 350 is the maximum value of the chart, we want all of the other bar sizes to be a ratio of that maximum size, based on ThisItem's value.
    • With the ColumnChartSample: {Width: 350*(ThisItem.Area/Max(ColumnChartSample,Area))}
  • To have the data label appear at the right end of the bar, we adjust the X value to move left and right depending on the Width of our BarLabel. This is where the X of our bar label matters, since when the BarLabel == 0, our data label will rest at the origin of the BarLabel.
    • DataLabel: {X:BarLabel.X+BarLabel.Width, Text: ThisItem.Area}
  • In my example I set the Fill property to change based on the Area value. If the value is above 80% we want to show green.

And there you have it! I personally put a thin black label with Width:1 to increase the visuals. Since this is a gallery control, you have even more freedom to add controls and to customize the chart.

Note: Make the gallery control big enough to hold all data points if you don't want the user to be able to scroll. If the gallery control is a little too small, the chart will look like a chart, but if a user scrolls on it, the data points move a little.

 

Hope this helps!

 

1 ACCEPTED SOLUTION

Accepted Solutions
wyotim
Resident Rockstar
Resident Rockstar

Awesome workaround and tutorial! Thanks for sharing!

View solution in original post

8 REPLIES 8
timl
Super User III
Super User III

Hi @Adam_Dunn


Well done for sharing this! I'm sure this technique of using a gallery control to display a chart will help many people.

v-xida-msft
Community Support
Community Support

Hi @Adam_Dunn,

 

Thanks for your sharing. 

 

I would also share this solution with other colleages.

 

Best regards,

Kris

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Thanks for sharing! Robot Happy

can you please help me more on this tutorial ?

wyotim
Resident Rockstar
Resident Rockstar

Awesome workaround and tutorial! Thanks for sharing!

View solution in original post

wcape
Regular Visitor

What datasource do you use for the gallery control...?

albertvangink
Regular Visitor

It took a while, but in the end I managed to recreate the bar chart. Thank you!

YiannisLap
Frequent Visitor

This is awesome!!

To extend this idea, we can turn this into a GANTT chart, if we have manage X for the data bar by detecting date differences (current from minimum of dataset)

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Power Apps June 2021

June Power Apps Community Call

Don't miss the call this month on June 16th - 8a PDT

Top Solution Authors
Top Kudoed Authors
Users online (43,538)