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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.