Reputation: 989
When I create a single plot using the figure()-function of PyPlot, I can set the name of the appearing window using a string as argument:
import matplotlib.pyplot as plt
figure = plt.figure('MyName')
The function plt.subplots() doesn´t accept strings as first argument. For example:
plt.subplots(2,2) # for creating a window with 4 subplots
So how can I set the name of the figure?
Upvotes: 20
Views: 36413
Reputation: 10726
Taken from the docs:
import matplotlib.pyplot as plt
#...
# Just a figure and one subplot
f, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')
And, to change the title of the Window:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.canvas.manager.set_window_title('My Window Title')
plt.show()
If you're using a Matplotlib version < 3.4, use: fig.canvas.set_window_title('My Windows Title')
Reference to deprecation (kudos to KaiserKatze).
Upvotes: 25
Reputation: 348
plt.subplots()
passes additional keyword arguments to plt.figure
. Therefore, the num
keyword will do what you want.
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, num='MyName')
You can also set figsize
and dpi
etc. in this way too (see plt.figure
docs).
Upvotes: 22
Reputation: 5917
You can also do this:
f, axarr = plt.subplots(2,2, num = PlotName)
where PlotName
is a string and thus you can generate a window name upon instantiation
Upvotes: 0