Skip to content

Commit f82f8fd

Browse files
committed
DOC: Added plt.show() at the end of each necessary block (pandas-dev#45772)
Reworded and moved title to the top of the page
1 parent b3b5e2a commit f82f8fd

File tree

1 file changed

+40
-27
lines changed

1 file changed

+40
-27
lines changed

doc/source/getting_started/intro_tutorials/04_plotting.rst

+40-27
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22

33
{{ header }}
44

5-
.. ipython:: python
5+
How do I create plots in pandas?
6+
----------------------------------
7+
8+
.. image:: ../../_static/schemas/04_plot_overview.svg
9+
:align: center
10+
11+
.. ipython::
612

7-
import pandas as pd
8-
import matplotlib.pyplot as plt
13+
In [1]: import pandas as pd
14+
...: import matplotlib.pyplot as plt
915

1016
.. raw:: html
1117

@@ -20,10 +26,10 @@
2026

2127
.. include:: includes/air_quality_no2.rst
2228

23-
.. ipython:: python
29+
.. ipython::
2430

25-
air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)
26-
air_quality.head()
31+
In [1]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)
32+
...: air_quality.head()
2733

2834
.. note::
2935
The usage of the ``index_col`` and ``parse_dates`` parameters of the ``read_csv`` function to define the first (0th) column as
@@ -35,23 +41,18 @@
3541
</ul>
3642
</div>
3743

38-
How to create plots in pandas?
39-
------------------------------
40-
41-
.. image:: ../../_static/schemas/04_plot_overview.svg
42-
:align: center
43-
4444
.. raw:: html
4545

4646
<ul class="task-bullet">
4747
<li>
4848

4949
I want a quick visual check of the data.
5050

51-
.. ipython:: python
51+
.. ipython::
5252

5353
@savefig 04_airqual_quick.png
54-
air_quality.plot()
54+
In [1]: air_quality.plot()
55+
...: plt.show()
5556

5657
With a ``DataFrame``, pandas creates by default one line plot for each of
5758
the columns with numeric data.
@@ -69,9 +70,18 @@ the columns with numeric data.
6970
I want to plot only the columns of the data table with the data from Paris.
7071

7172
.. ipython:: python
73+
:suppress:
74+
75+
# We need to clear the figure here as, within doc generation, the plot
76+
# accumulates data on each plot(). This is not needed when running
77+
# in a notebook, so is suppressed from output.
78+
plt.clf()
79+
80+
.. ipython::
7281

7382
@savefig 04_airqual_paris.png
74-
air_quality["station_paris"].plot()
83+
In [1]: air_quality["station_paris"].plot()
84+
...: plt.show()
7585

7686
To plot a specific column, use the selection method of the
7787
:ref:`subset data tutorial <10min_tut_03_subset>` in combination with the :meth:`~DataFrame.plot`
@@ -90,11 +100,11 @@ method. Hence, the :meth:`~DataFrame.plot` method works on both ``Series`` and
90100

91101
I want to visually compare the :math:`NO_2` values measured in London versus Paris.
92102

93-
.. ipython:: python
103+
.. ipython::
94104

95105
@savefig 04_airqual_scatter.png
96-
air_quality.plot.scatter(x="station_london", y="station_paris", alpha=0.5)
97-
106+
In [1]: air_quality.plot.scatter(x="station_london", y="station_paris", alpha=0.5)
107+
...: plt.show()
98108
.. raw:: html
99109

100110
</li>
@@ -121,10 +131,11 @@ One of the options is :meth:`DataFrame.plot.box`, which refers to a
121131
`boxplot <https://en.wikipedia.org/wiki/Box_plot>`__. The ``box``
122132
method is applicable on the air quality example data:
123133

124-
.. ipython:: python
134+
.. ipython::
125135

126136
@savefig 04_airqual_boxplot.png
127-
air_quality.plot.box()
137+
In [1]: air_quality.plot.box()
138+
...: plt.show()
128139

129140
.. raw:: html
130141

@@ -144,10 +155,11 @@ For an introduction to plots other than the default line plot, see the user guid
144155

145156
I want each of the columns in a separate subplot.
146157

147-
.. ipython:: python
158+
.. ipython::
148159

149160
@savefig 04_airqual_area_subplot.png
150-
axs = air_quality.plot.area(figsize=(12, 4), subplots=True)
161+
In [1]: axs = air_quality.plot.area(figsize=(12, 4), subplots=True)
162+
...: plt.show()
151163

152164
Separate subplots for each of the data columns are supported by the ``subplots`` argument
153165
of the ``plot`` functions. The builtin options available in each of the pandas plot
@@ -176,13 +188,14 @@ Some more formatting options are explained in the user guide section on :ref:`pl
176188

177189
I want to further customize, extend or save the resulting plot.
178190

179-
.. ipython:: python
191+
.. ipython::
180192

181-
fig, axs = plt.subplots(figsize=(12, 4))
182-
air_quality.plot.area(ax=axs)
183193
@savefig 04_airqual_customized.png
184-
axs.set_ylabel("NO$_2$ concentration")
185-
fig.savefig("no2_concentrations.png")
194+
In [1]: fig, axs = plt.subplots(figsize=(12, 4))
195+
...: air_quality.plot.area(ax=axs)
196+
...: axs.set_ylabel("NO$_2$ concentration")
197+
...: fig.savefig("no2_concentrations.png")
198+
...: plt.show()
186199

187200
.. ipython:: python
188201
:suppress:

0 commit comments

Comments
 (0)