How to create space between subplots? [duplicate]

2024/10/5 17:27:37

The title pretty much says it all. I have a notebook containing two subplots and would like to create some space between them. They look too close to one another per say.

Answer

With matplotlib.Figure.subplots_adjust:

import matplotlib.pyplot as pltfig, (ax1, ax2) = plt.subplots(1, 2)ax1.plot([1,2,3], [1,2,3])
ax2.plot([1,2,3], [3,2,1])
plt.show()

enter image description here

increasing the width can be done with the wspace parameter:

... # same setup as before
fig.subplots_adjust(wspace=2)
plt.show()

enter image description here

If you want to have even more control over the positioning of the axes then you can specify the offset (bottom and left) and the extend (width and height) of each of the axes as percentages of the figure.

It involves a bit of calculation to get right though:

import matplotlib.pyplot as plt# All have the same lower border, height and width, only the distance to
# the left end of the figure differs
bottom = 0.05
height = 0.9
width = 0.15  # * 4 = 0.6 - minus the 0.1 padding 0.3 left for space
left1, left2, left3, left4 = 0.05, 0.25, 1 - 0.25 - width, 1 - 0.05 - widthrectangle1 = [left1, bottom, width, height]
rectangle2 = [left2, bottom, width, height]
rectangle3 = [left3, bottom, width, height]
rectangle4 = [left4, bottom, width, height]# Create a 8 x 8 (quadratic) figure
plt.figure(1, figsize=(8, 8))// Create 4 axes their position and extend is defined by the rectangles
ax1 = plt.axes(rectangle1)
ax2 = plt.axes(rectangle2)
ax3 = plt.axes(rectangle3)
ax4 = plt.axes(rectangle4)# Let's display something in these axes.
ax1.plot([1,2,3,4])
ax2.plot([4,3,2,1])
ax3.plot([4,3,2,1])
ax4.plot([1,2,3,4])plt.show()

enter image description here

https://en.xdnf.cn/q/70457.html

Related Q&A

How to (re)name an empty column header in a pandas dataframe without exporting to csv

I have a pandas dataframe df1 with an index column and an unnamed series of values. I want to assign a name to the unnamed series. The only way to do this that I know so far is to export to df1.csv usi…

Capturing the video stream from a website into a file

For my image classification project I need to collect classified images, and for me a good source would be different webcams around the world streaming video in the internet. Like this one:https://www.…

Recreating time series data using FFT results without using ifft

I analyzed the sunspots.dat data (below) using fft which is a classic example in this area. I obtained results from fft in real and imaginery parts. Then I tried to use these coefficients (first 20) to…

python BeautifulSoup get all href in Children of div

I am new to python and Ive been trying to get links and inner text from this html code : <div class="someclass"><ul class="listing"><li><a href="http://lin…

Python TypeError: sort() takes no positional arguments

I try to write a small class and want to sort the items based on the weight. The code is provided, class Bird:def __init__(self, weight):# __weight for the private variableself.__weight = weightdef wei…

Trouble with basemap subplots

I need to make a plot with n number of basemap subplots. But when I am doing this the all the values are plotted on the first subplot.My data is a set of n matrixes, stored in data_all.f, map = plt.sub…

Remove circular references in dicts, lists, tuples

I have this following really hack code which removes circular references from any kind of data structure built out of dict, tuple and list objects.import astdef remove_circular_refs(o):return ast.liter…

how to change image format when uploading image in django?

When a user uploads an image from the Django admin panel, I want to change the image format to .webp. I have overridden the save method of the model. Webp file is generated in the media/banner folder b…

Write info about nodes to a CSV file on the controller (the local)

I have written an Ansible playbook that returns some information from various sources. One of the variables I am saving during a task is the number of records in a certain MySQL database table. I can p…

Python minimize function: passing additional arguments to constraint dictionary

I dont know how to pass additional arguments through the minimize function to the constraint dictionary. I can successfully pass additional arguments to the objective function.Documentation on minimiz…