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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
Eiki
Frequent Visitor

Python Slicer - Remove line from matplotlib using Slicer Value

I have a plot that looks at daily mean sales for different products, which I made using matplotlib. Now I want a slicer that allows for the removal of unselected lines in the python script. I have the slicer set up but it does not remove the line but does filter the data, which I thought would remove the line but it stays (likley in a default state maybe?). 

 

Here is a code snippit for reference.

 

plt.plot(df['Dates'], df[f'Product{i}'], c = f'{i}')
plt.show()
 
Slicer is set on Product group that contains all the relevant ID numbers - Names dont match but it does seem to filter the data, the data tables are connected in Power Bi Model. I have seen another post similar to this:
 
But this post is not very general enough for me to transfer over to my own challange.
 
Thanks in advance.
1 ACCEPTED SOLUTION
Eiki
Frequent Visitor

I did 'Fix' this by just realizing something about how Python and Power Bi work together.

When you use a slicer it will filter the column you are plotting. There is no need to 'define' a slicer in the python script

First let me say that its a specific way of thinking one needs to approach this combo. In my way of thinking 'you' as the programmer define the behaviour of the slicer by making a connection between the slicer and the python script. This is wrong. Power Bi, when you add a slicer, will filter the data and run the python script again with the new data filtered data frame. So for me I needed to remove some of the programmers thinking and allow Power Bi to do the thing it does best, simplify a lot of tasks.

It isn't a 'programming' solution or software solution - its a 'Aha, thats smart' light bulb monent solution.

View solution in original post

3 REPLIES 3
v-juanli-msft
Community Support
Community Support

Hi @Eiki 

I don't know what line you want to remove.

Could you show an example with pictures?

 

Best Regards

Maggie

I don't have the file right now - but I found a solution. 

 

For the slicer to work in the python script there needs to be a refernce to that file. So there could be an example like this

 

plt.plot(df['date'], df[f'Product{i}'].where(df[f'Product{i}'].isin(ProductList))

 

The ProductList is the list I reference in the slicer so now it works.

 

Thanks again - I found the solution by reading the forum here and Trial and Error

Eiki
Frequent Visitor

I did 'Fix' this by just realizing something about how Python and Power Bi work together.

When you use a slicer it will filter the column you are plotting. There is no need to 'define' a slicer in the python script

First let me say that its a specific way of thinking one needs to approach this combo. In my way of thinking 'you' as the programmer define the behaviour of the slicer by making a connection between the slicer and the python script. This is wrong. Power Bi, when you add a slicer, will filter the data and run the python script again with the new data filtered data frame. So for me I needed to remove some of the programmers thinking and allow Power Bi to do the thing it does best, simplify a lot of tasks.

It isn't a 'programming' solution or software solution - its a 'Aha, thats smart' light bulb monent solution.

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! It's time to submit your entry.

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.