我在为matplotlib绘图设置x / ylabel时遇到问题,该绘图正在使用来自sql查询的数据。
我的代码:
import matplotlib.pyplot as plt
import pyodbc
import pandas
conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=servername;DATABASE=dbname;Trusted_Connection=Yes;')
sql = pandas.read_sql(('SELECT COUNT(Person) AS Cnt, BirthMonth FROM Person GROUP BY BirthMonth'),conn)
df = pandas.DataFrame(sql, columns = ['Cnt', 'BirthMonth'])
ax = df.plot(kind='bar', title = "BirthMonthCounts",figsize=(15,10),legend=False, fontsize=12, x='BirthMonth', y='Cnt', xticks='BirthMonth')
ax.set_xlabel("X",fontsize=12)
ax.set_ylabel("Y",fontsize=12)
plt.show()
当我运行我的代码时,图表会显示正确的值,但没有x或ylabels。
我尝试过几件事,但我怀疑我刚刚编写了我的剧情代码。
答案 0 :(得分:0)
将参数ax
传递给df.plot
,
fig, ax = plt.subplots()
df.plot(kind='bar', ax=ax, title="BirthMonthCounts", figsize=(15,10), legend=False, fontsize=12, x='BirthMonth', y='Cnt', xticks='BirthMonth')