Intel® Distribution for Python*
Engage in discussions with community peers related to Python* applications and core computational packages.

Cannot get matplotlib to show a plot on Windows

Eoin
Beginner
6,512 Views

As the subject says I cannot get the plots to to show. I can save plots fine with savefig() but the show() command doesn't seem to do anything.

My investigations online suggests to change the backend from the default 'Agg' one to a graphical one. But unfortunately I cannot find any Windows specific instructions on how to do this.

0 Kudos
1 Solution
Robert_C_Intel
Employee
6,512 Views

You are right, an interactive backend is needed. We are including one in our beta update that will be available in a couple weeks.

Robert

View solution in original post

0 Kudos
4 Replies
Robert_C_Intel
Employee
6,513 Views

You are right, an interactive backend is needed. We are including one in our beta update that will be available in a couple weeks.

Robert

0 Kudos
Eoin
Beginner
6,512 Views

Thanks for the reply Robert, that's fantastic. I look forward to the next update, savefig() will work fine in the meantime!

0 Kudos
abarb
Beginner
6,512 Views

Here explain like you can change the backend to plot with matplotlib:

http://stackoverflow.com/questions/3285193/how-to-switch-backends-in-matplotlib-python

0 Kudos
Eoin
Beginner
6,512 Views

Hi Andre, thanks for the help. After entering an unsupported value matplotlib reported the following list of valid backends:

'gdk', 'GTK3Agg', 'nbAgg', 'WebAgg', 'GTK3Cairo', 'WX', 'CocoaAgg', 'pgf', 'Qt5Agg', 'GTKAgg', 'cairo', 'svg', 'emf', 'Qt4Agg', 'WXAgg', 'pdf', 'template', 'GTKCairo', 'MacOSX', 'agg', 'ps', 'GTK', 'TkAgg'

I tried them all, most give an error, or run but the show() function still doesn't do anything. One of them, WebAgg does work, it opens the browser and shows the results, which is great. Problem solved!

Regarding the other backends, other SO questions and posts online suggest you need to install the appropriate graphical toolkit before that backend will work. Unfortunately all the instructions I have found on how to do so are for Linux or OSX.

0 Kudos
Reply