How to increase image size of pandas.DataFrame.plot

PythonPandasMatplotlibJupyter

Python Problem Overview


How can I modify the size of the output image of the function pandas.DataFrame.plot?

I tried:

plt.figure (figsize=(10,5))

and

%matplotlib notebook

but none of them work.

Python Solutions


Solution 1 - Python

Try the figsize parameter in df.plot(figsize=(width,height)):

df = pd.DataFrame({"a":[1,2],"b":[1,2]})
df.plot(figsize=(3,3));

Enter image description here

df = pd.DataFrame({"a":[1,2],"b":[1,2]})
df.plot(figsize=(5,3));

Enter image description here

The size in figsize=(5,3) is given in inches per (width, height).

An alternative way is to set desired figsize at the top of the Jupyter Notebook, prior to plotting:

plt.rcParams["figure.figsize"] = (10, 5)

This change will affect all the plots, following this statement.


As per explanation why it doesn't work for the OP:

> plt.figure(figsize=(10,5)) doesn't work because df.plot() creates its own matplotlib.axes.Axes object, the size of which cannot be changed after the object has been created. For details please see the source code. > Though, one can change default figsize prior to creation, by changing default figsize with plt.rcParams["figure.figsize"] = (width, height)

Solution 2 - Python

If you want to make a change to the whole notebook global:

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams["figure.figsize"] = [10, 5]

Solution 3 - Python

Try this:

import matplotlib as plt

After importing the file we can use the Matplotlib library, but remember to use it as plt:

df.plt(kind='line', figsize=(10, 5))

After that, the plot will be done and the size increased. In figsize, the 10 is for breadth and 5 is for height. Also other attributes can be added to the plot too.

Solution 4 - Python

figsize parameter in df.plot(figsize=(width,height)) work for me

df = pd.DataFrame({"a":[1,2],"b":[1,2]})
df.plot(figsize=(5,3));

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmommomonthewindView Question on Stackoverflow
Solution 1 - PythonSergey BushmanovView Answer on Stackoverflow
Solution 2 - Pythonblack_fmView Answer on Stackoverflow
Solution 3 - Pythonbiswajit changkakotyView Answer on Stackoverflow
Solution 4 - PythonSergiy AzhnyukView Answer on Stackoverflow