Reputation: 555
I am creating a geoplot and trying to set my xlabels and ylabels. It only shows the ylabel, but not the xlabel. Here's a minimal reproducible example.
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
d = {
'College': ['East Los Angeles College', 'Santa Monica Ccollege', 'American River College', 'Santa Ana College', 'Mount San Antonio College'],
'Total Enrollment': [36606, 29999, 29701, 28698, 28481],
'Latitude': [34.0414, 34.0166, 38.6511, 33.7580, 34.0482],
'Longitude': [-118.1503, -118.4704, -121.3467, -117.8889, 117.8451]
}
df = pd.DataFrame(data=d)
ax2 = df.plot.scatter(x='Longitude', y='Latitude',
s=df['Total Enrollment']/100, label='Enrollment',
c='Total Enrollment', cmap=plt.get_cmap("jet"),
colorbar=True, alpha=0.5, figsize=(15,12))
plt.ylabel("Latitude", fontsize=14)
plt.xlabel("Longitude", fontsize=14)
plt.legend(fontsize=16)
plt.show()
Upvotes: 0
Views: 491
Reputation: 49998
Adding the following lines seems to work for me:
fig, ax = plt.subplots()
...
df.plot.scatter(..., ax=ax)
ax.set_ylabel("Latitude", fontsize=14)
ax.set_xlabel("Longitude", fontsize=14)
Though as noted in this question, calling plt.subplots
and specifying the axes seems to be the missing link.
Upvotes: 2