小编Dav*_*ski的帖子

Matplotlib条形图x轴不会绘制字符串值

我的名字是大卫,我在佛罗里达州为救护车服务.

我使用的是Python 2.7和matplotlib.我正试图进入我的救护车呼叫数据库,并计算每个工作日发生的呼叫数量.

然后,我将使用matplotlib创建此信息的条形图,为医护人员提供每天有多忙的视觉图形.

这里的代码非常好:

import pyodbc
import matplotlib.pyplot as plt
MySQLQuery = """
SELECT 
 DATEPART(WEEKDAY, IIU_tDispatch)AS [DayOfWeekOfCall]
, COUNT(DATEPART(WeekDay, IIU_tDispatch)) AS [DispatchesOnThisWeekday]
FROM AmbulanceIncidents
GROUP BY DATEPART(WEEKDAY, IIU_tDispatch)
ORDER BY DATEPART(WEEKDAY, IIU_tDispatch)
"""
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=MyServer;DATABASE=MyDatabase;UID=MyUserID;PWD=MyPassword')
cursor = cnxn.cursor()
GraphCursor = cnxn.cursor()
cursor.execute(MySQLQuery)

#generate a graph to display the data
data = GraphCursor.fetchall()
DayOfWeekOfCall, DispatchesOnThisWeekday = zip(*data)
plt.bar(DayOfWeekOfCall, DispatchesOnThisWeekday)
plt.grid()
plt.title('Dispatches by Day of Week')
plt.xlabel('Day of Week')
plt.ylabel('Number of Dispatches')
plt.show()
Run Code Online (Sandbox Code Playgroud)

上面显示的代码非常有效.它返回一个漂亮的图表,我很高兴.我只想做一个改变.

而不是X轴显示星期几的名称,例如"星期日",它显示整数.换句话说,星期日是1,星期一是2,等等.

我对此的修复是我重写了我的sql查询以使用DATENAME()而不是DATEPART().下面显示的是我的sql代码,用于返回星期的名称(而不是整数).

SELECT 
 DATENAME(WEEKDAY, IIU_tDispatch)AS …
Run Code Online (Sandbox Code Playgroud)

python matplotlib bar-chart

35
推荐指数
2
解决办法
7万
查看次数

标签 统计

bar-chart ×1

matplotlib ×1

python ×1