Add x and y labels to a pandas plot Add x and y labels to a pandas plot pandas pandas

Add x and y labels to a pandas plot


The df.plot() function returns a matplotlib.axes.AxesSubplot object. You can set the labels on that object.

ax = df2.plot(lw=2, colormap='jet', marker='.', markersize=10, title='Video streaming dropout by category')ax.set_xlabel("x label")ax.set_ylabel("y label")

enter image description here

Or, more succinctly: ax.set(xlabel="x label", ylabel="y label").

Alternatively, the index x-axis label is automatically set to the Index name, if it has one. so df2.index.name = 'x label' would work too.


You can use do it like this:

import matplotlib.pyplot as plt import pandas as pdplt.figure()values = [[1, 2], [2, 5]]df2 = pd.DataFrame(values, columns=['Type A', 'Type B'],                    index=['Index 1', 'Index 2'])df2.plot(lw=2, colormap='jet', marker='.', markersize=10,         title='Video streaming dropout by category')plt.xlabel('xlabel')plt.ylabel('ylabel')plt.show()

Obviously you have to replace the strings 'xlabel' and 'ylabel' with what you want them to be.


If you label the columns and index of your DataFrame, pandas will automatically supply appropriate labels:

import pandas as pdvalues = [[1, 2], [2, 5]]df = pd.DataFrame(values, columns=['Type A', 'Type B'],                   index=['Index 1', 'Index 2'])df.columns.name = 'Type'df.index.name = 'Index'df.plot(lw=2, colormap='jet', marker='.', markersize=10,         title='Video streaming dropout by category')

enter image description here

In this case, you'll still need to supply y-labels manually (e.g., via plt.ylabel as shown in the other answers).