March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
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,
Solved! Go to Solution.
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
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')"
}
},
...
}
Regards,
Daniel
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)
Hi @PWRBI_USER - you can use the arc mark for pie charts in Vega-Lite.
Regards,
Daniel
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 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.
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')"
}
},
...
}
Regards,
Daniel
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
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.
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.
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
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
124 | |
87 | |
85 | |
70 | |
51 |
User | Count |
---|---|
205 | |
153 | |
97 | |
79 | |
69 |