首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matplotlib:在y轴上显示时间的问题

Matplotlib:在y轴上显示时间的问题
EN

Stack Overflow用户
提问于 2020-06-11 12:31:32
回答 2查看 82关注 0票数 1

运行以下代码时:

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as md
from itertools import product

Time = [f'2017-03-13 {H}:{M}:{S}' for H, M, S in list(product([('0' + str(x))[-2:] for x in range(0, 24)],
                                                              [('0' + str(x))[-2:] for x in range(0, 60)],
                                                              [('0' + str(x))[-2:] for x in range(0, 60)]))]
Speed = list(130*np.random.rand(len(Time)))
Kilometer = list(50*np.random.rand(len(Time)))
N130317 = pd.DataFrame({'Time':Time, 'Speed':Speed, 'Kilometer':Kilometer})

N130317['Time'] = pd.to_datetime(N130317['Time'], format = '%Y-%m-%d %H:%M:%S')

marker_size = 1  # sets size of dots
cm = plt.cm.get_cmap('plasma_r') #sets colour scheme
plt.scatter(N130317['Kilometer'], N130317['Time'], marker_size, c=N130317['Speed'], cmap=cm)
ax=plt.gca()
xfmt = md.DateFormatter('%H:%M')
ax.yaxis.set_major_formatter(xfmt)
plt.title("NDW 13-03-17")
plt.xlabel("Kilometer")
plt.ylabel("Time")
plt.colorbar().set_label("Speed", labelpad=+1) #Makes a legend
plt.show()

  • ,我得到了一个图,看起来如下:

但我希望它看起来像这样(由另一个用户制作):

有人知道这个问题的原因吗?

Matplotlib: Automatically displaying time column as 2 hour ticks on y axis in scatterplot -前一个问题,我得到了答案。

在更新conda和所有软件包之前和之后都会发生相同的问题。

EN

Stack Overflow用户

发布于 2020-06-11 12:58:28

请尝尝这个。用下面的代码替换您的代码。它给了我正确的热图。这是因为matplotlib格式化日期时间的方式。请参阅讨论here

代码语言:javascript
运行
复制
import matplotlib.dates as mdates    
fig, ax = plt.subplots()
marker_size = 1  # sets size of dots
cm = plt.cm.get_cmap('plasma_r') #sets colour scheme
ax.scatter(N130317['Kilometer'], mdates.datestr2num(N130317['Time'].astype('str')), marker_size, c=N130317['Speed'], cmap=cm)
    ax=plt.gca()

xfmt = md.DateFormatter('%Y-%m-%d %H:%M:%S')
ax.yaxis.set_major_formatter(xfmt)
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62324482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档