'Disable the output of matplotlib pyplot

I have an array A of shape (1000, 2000). I use matplotlib.pyplot to plot the array, which means 1000 curves, using

import matplotlib.pyplot as plt
plt(A)

The figure is fine but there are a thousand lines of:

<matplotlib.lines.Line2D at 0xXXXXXXXX>

Can I disable this output?



Solution 1:[1]

This output is what the plt function is returning (I presume here you meant to write plt.plot(A)). To suppress this output assign the return object a name:

_ = plt.plot(A)

_ is often used to indicate a temporary object which is not going to be used later on. Note that this output you are seeing will only appear in the interpreter, and not when you run the script from outside the interpreter.

Solution 2:[2]

You can also suppress the output by use of ; at the end (assuming you are doing this in some sort of interactive environment)

 plot(A);  

Solution 3:[3]

plt.show()

This way there is no need to create unnecessary variables.

E.g.:

import matplotlib.pyplot as plt

plt.plot(A)
plt.show()

Solution 4:[4]

use a semi-colon after the plot command

eg: plt.imshow(image,cmap);

will display the graph and stop the verbose

Solution 5:[5]

To ignore warnings

import warnings warnings.filterwarnings("ignore")

This will resolve your issue.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Chris
Solution 2 Trenton McKinney
Solution 3 joeDiHare
Solution 4 code-freeze
Solution 5 Saurabh Gupta