Discussion:
[Matplotlib-users] Matplotlib 1.4.3 Agg problem
John Coppens
2015-07-15 14:16:01 UTC
Permalink
Hello all.

I had MatPlotLib 1.3.1 installed, and decided to upgrade to 1.4.3. I compiled the
.tar.gz package, which went without a hitch (except for a number of warnings
from gcc). Installation also completed without problems.

But, on running the same simple plot I was working on, no plot was output:

import matplotlib.pyplot as plt

def test_plot():
x = range(11)
y = [x0**2 for x0 in x]

plt.plot(x, y, 'o:', fillstyle='none', label = "1", ms = 10)
plt.legend()
plt.show()

def main(args):
test_plot()
return 0

if __name__ == '__main__':
import sys
sys.exit(main(sys.argv))

which was somewhat annoying, as I was trying to help out someone on
Stackoverflow. Only after experimenting somewhat, I found that
setting the Agg to GtkAgg, the plot started working again:

import matplotlib
matplotlib.use('GtkAgg')

Is this normal? I'm not actually using gtk in this project.
TkAgg also works.

John
Benjamin Root
2015-07-15 14:33:36 UTC
Permalink
If your backend is set to Agg, then no interactive window will appear upon
call to show(). Agg is intended for headless servers. What might be
happening is that somewhere, you have Agg set as the default backend.

Ben Root
Post by John Coppens
Hello all.
I had MatPlotLib 1.3.1 installed, and decided to upgrade to 1.4.3. I compiled the
.tar.gz package, which went without a hitch (except for a number of warnings
from gcc). Installation also completed without problems.
import matplotlib.pyplot as plt
x = range(11)
y = [x0**2 for x0 in x]
plt.plot(x, y, 'o:', fillstyle='none', label = "1", ms = 10)
plt.legend()
plt.show()
test_plot()
return 0
import sys
sys.exit(main(sys.argv))
which was somewhat annoying, as I was trying to help out someone on
Stackoverflow. Only after experimenting somewhat, I found that
import matplotlib
matplotlib.use('GtkAgg')
Is this normal? I'm not actually using gtk in this project.
TkAgg also works.
John
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Matplotlib-users mailing list
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Thomas Caswell
2015-07-15 14:36:53 UTC
Permalink
The Agg backend is a non-gui backend, it just saves to file. The `TkAgg`
and `GtkAgg` are gui backends (which are more of front ends, but I digress)
which show the output of Agg in a gui window (and provide a layer for
handling user interaction).

I suspect that how ever your 1.3.1 was installed the system level
matplotlibrc file was modified to set the default backend to be one of the
GUI backends.

See http://matplotlib.org/users/customizing.html#the-matplotlibrc-file You
want to set the 'backend' parameter.

Tom
Post by John Coppens
Hello all.
I had MatPlotLib 1.3.1 installed, and decided to upgrade to 1.4.3. I compiled the
.tar.gz package, which went without a hitch (except for a number of warnings
from gcc). Installation also completed without problems.
import matplotlib.pyplot as plt
x = range(11)
y = [x0**2 for x0 in x]
plt.plot(x, y, 'o:', fillstyle='none', label = "1", ms = 10)
plt.legend()
plt.show()
test_plot()
return 0
import sys
sys.exit(main(sys.argv))
which was somewhat annoying, as I was trying to help out someone on
Stackoverflow. Only after experimenting somewhat, I found that
import matplotlib
matplotlib.use('GtkAgg')
Is this normal? I'm not actually using gtk in this project.
TkAgg also works.
John
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Matplotlib-users mailing list
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Loading...