Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
PWRBI_USER
Frequent Visitor

Creating a striped bar chart

Hi,

  I would like to check whether it is possible to create a striped bar chart (Chart with inclined bars inside).

My exact requirement is that if data matches with a condition, I need to show striped bar. Else regular bar.

 

Thanks,

 

3 ACCEPTED SOLUTIONS
ppm1
Solution Sage
Solution Sage

There will be some learning curve, but pattern fills are possible with the Deneb custom visual (which leverages Vega-Lite). You could create a measure that returns 0 or 1 depending on your criterion, and then conditionally set the pattern to striped or solid.

 

Pattern Fills | Deneb (deneb-viz.github.io)

 

Pat

 

Microsoft Employee

View solution in original post

Hi @PWRBI_USER1 - for Vega-Lite, conditions are only possible to use in encoding channels, and not mark properties.

If you want to do this in the mark property, then the fill property can use an ExprRef. This uses the Vega expression language, which is detailed here.

It's not entirely clear from your example what the condition is, or the name of the fields in your dataset, so I'll use a simple bar chart, where I will fill the bar based on my Country field: if it matches 'Australia', I'll apply the pattern fill, otherwise I'll colour the bar black. 

{
  ...
  "mark": {
    "type": "bar",
    "stroke": "black",
    "fill": {
      "expr": "if(datum['Country'] == 'Australia', 'url(#diagonal-stripe-1)', 'black')"
    }
  },
  ...
}

dmp_1-1665355552758.png

Regards,

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


My course: Introduction to Developing Power BI Visuals


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




View solution in original post

Hi @PWRBI_USER - you can use the arc mark for pie charts in Vega-Lite.

Regards,

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


My course: Introduction to Developing Power BI Visuals


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




View solution in original post

7 REPLIES 7
PWRBI_USER1
Helper I
Helper I

Hello Pat @ppm1 ,

  Thank you for your inputs. That was big help.

An additional question. As I am a newbie into Vegalite, I am getting an error when I give the condition. With the plain fill (without condition) it is working. Any inputs is highly appreciated.

 

PWRBI_USER1_0-1665152138412.png

 

Hi @PWRBI_USER1 - for Vega-Lite, conditions are only possible to use in encoding channels, and not mark properties.

If you want to do this in the mark property, then the fill property can use an ExprRef. This uses the Vega expression language, which is detailed here.

It's not entirely clear from your example what the condition is, or the name of the fields in your dataset, so I'll use a simple bar chart, where I will fill the bar based on my Country field: if it matches 'Australia', I'll apply the pattern fill, otherwise I'll colour the bar black. 

{
  ...
  "mark": {
    "type": "bar",
    "stroke": "black",
    "fill": {
      "expr": "if(datum['Country'] == 'Australia', 'url(#diagonal-stripe-1)', 'black')"
    }
  },
  ...
}

dmp_1-1665355552758.png

Regards,

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


My course: Introduction to Developing Power BI Visuals


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




Thank you so much Daniel @dm-p . I added in encoding but your inputs helped.

One additional question. Can I create pie chart as well through Deneb?

Hi @PWRBI_USER - you can use the arc mark for pie charts in Vega-Lite.

Regards,

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


My course: Introduction to Developing Power BI Visuals


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




Hello Daniel @dm-p ,

  Thank you for the guidance. I would like to check whether we can do striped sections in the pie charts. I tried the same but did not get a luck.

 

PWRBI_USER_0-1665487336487.png

 

 

 

Hi Daniel @dm-p 

  I have an additional question. In the pie chart, is there any option to do stripe'ing based on a condition? I tried the same way I did in the bar. But somehow does not give me a luck.

Thanks for all the help.

 

PWRBI_USER1_0-1665476832804.png

 

ppm1
Solution Sage
Solution Sage

There will be some learning curve, but pattern fills are possible with the Deneb custom visual (which leverages Vega-Lite). You could create a measure that returns 0 or 1 depending on your criterion, and then conditionally set the pattern to striped or solid.

 

Pattern Fills | Deneb (deneb-viz.github.io)

 

Pat

 

Microsoft Employee

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors