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")
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')
In this case, you'll still need to supply y-labels manually (e.g., via plt.ylabel
as shown in the other answers).