亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

matplotlib 水平條形圖,時間以小時為單位:分鐘:x 軸上的秒數

matplotlib 水平條形圖,時間以小時為單位:分鐘:x 軸上的秒數

繁花不似錦 2022-03-09 20:37:53
我想使用水平條形圖顯示用戶在一天內花費在幾項任務上的時間。y 軸是任務列表,x 軸是花費在這些任務上的時間。時間采用 %H:%M:%S 格式。fig, ax = plt.subplots()# Example datatasks = ('Reading', 'Mobile', 'Outing', 'Laptop')y_pos = np.arange(len(tasks))time_spent = ["01:01:34","00:05:23","00:00:09","02:34:32"]error = np.random.rand(len(tasks))ax.barh(y_pos, time_spent, xerr=error, align='center')ax.set_yticks(y_pos)ax.set_yticklabels(tasks)ax.set_xlabel('Time spent')ax.xaxis.set_major_locator(HourLocator())ax.xaxis.set_major_formatter(DateFormatter('%H:%M:%S'))plt.show()我在某個地方找到了它,但它不起作用。我什至無法對其進行調整以使其正常工作。請提出解決方案。此外,我還想顯示每個水平條后花費的時間。對此的任何想法也是可觀的。
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

根據重要評論,我以秒為單位傳遞時間并使用時間字符串顯示為標簽并且它有效。


fig, ax = plt.subplots()


# Example data

tasks = ('Reading', 'Mobile', 'Outing', 'Laptop')

time_spent = ["01:01:34","00:05:23","00:00:09","02:34:32"]

timesec = []

for i in range(4):

    timesec.append(convertToSeconds(time_spent[i]))

y_pos = np.arange(len(tasks))

error = np.random.rand(len(tasks))


ax.barh(y_pos, timesec, xerr=error, align='center')

ax.set_yticks(y_pos)

ax.set_yticklabels(tasks)

ax.set_xlabel('Time Spent')

ax.get_xaxis().set_visible(False)


for i, v in enumerate(times):

    print(i)

    ax.text(v + 3, i, time_spent[i], color='blue')


查看完整回答
反對 回復 2022-03-09
  • 1 回答
  • 0 關注
  • 289 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號