How to change the figure size of a seaborn axes or figure level plot
Become part of the top 3% of the developers by applying to Toptal https://topt.al/25cXVn
--
Music by Eric Matyas
https://www.soundimage.org
Track title: Over Ancient Waters Looping
--
Chapters
00:00 Question
00:28 Accepted answer (Score 314)
00:49 Answer 2 (Score 501)
01:28 Answer 3 (Score 238)
02:06 Answer 4 (Score 137)
02:24 Thank you
--
Full question
https://stackoverflow.com/questions/3159...
Answer 1 links:
[matplotlib documentation]: https://matplotlib.org/users/customizing...
Answer 2 links:
https://github.com/mwaskom/seaborn/issue...
[Plotting with seaborn using the matplotlib object-oriented interface]: https://stackoverflow.com/questions/2396...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #matplotlib #seaborn #figsize
#avk47
--
Music by Eric Matyas
https://www.soundimage.org
Track title: Over Ancient Waters Looping
--
Chapters
00:00 Question
00:28 Accepted answer (Score 314)
00:49 Answer 2 (Score 501)
01:28 Answer 3 (Score 238)
02:06 Answer 4 (Score 137)
02:24 Thank you
--
Full question
https://stackoverflow.com/questions/3159...
Answer 1 links:
[matplotlib documentation]: https://matplotlib.org/users/customizing...
Answer 2 links:
https://github.com/mwaskom/seaborn/issue...
[Plotting with seaborn using the matplotlib object-oriented interface]: https://stackoverflow.com/questions/2396...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #matplotlib #seaborn #figsize
#avk47
ANSWER 1
Score 558
You can also set figure size by passing dictionary to rc parameter with key 'figure.figsize' in seaborn set_theme method (which replaces the set method, deprecated in v0.11.0 (September 2020))
import seaborn as sns
sns.set_theme(rc={'figure.figsize':(11.7,8.27)})
Other alternative may be to use figure.figsize of rcParams to set figure size as below:
from matplotlib import rcParams
# figure size in inches
rcParams['figure.figsize'] = 11.7,8.27
More details can be found in matplotlib documentation
ACCEPTED ANSWER
Score 334
You need to create the matplotlib Figure and Axes objects ahead of time, specifying how big the figure is:
from matplotlib import pyplot
import seaborn
import mylib
a4_dims = (11.7, 8.27)
df = mylib.load_data()
fig, ax = pyplot.subplots(figsize=a4_dims)
seaborn.violinplot(ax=ax, data=df, **violin_options)
ANSWER 3
Score 163
first import matplotlib and use it to set the size of the figure
from matplotlib import pyplot as plt
import seaborn as sns
plt.figure(figsize=(15,8))
ax = sns.barplot(x="Word", y="Frequency", data=boxdata)
ANSWER 4
Score 109
You can set the context to be poster or manually set fig_size.
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
np.random.seed(0)
n, p = 40, 8
d = np.random.normal(0, 2, (n, p))
d += np.log(np.arange(1, p + 1)) * -5 + 10
# plot
sns.set_style('ticks')
fig, ax = plt.subplots()
# the size of A4 paper
fig.set_size_inches(11.7, 8.27)
sns.violinplot(data=d, inner="points", ax=ax)
sns.despine()
fig.savefig('example.png')
