Matplotlib 1.4.3 Agg problem

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

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

···

On Wed, Jul 15, 2015 at 10:16 AM, John Coppens <john@…4687…> wrote:

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


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

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

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

···

On Wed, Jul 15, 2015 at 10:22 AM John Coppens <john@…4687…> wrote:

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


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

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users