沿四边形x轴的日期

2024-06-14 04:11:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用matplotlib和Axes.pcolormesh来创建绘图。我的问题是我想要沿着x轴的日期:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
qmesh = ax.pcolormesh(times,mlt,data.T)
fig.colorbar(qmesh,ax=ax)

在这段代码中,times是使用matplotlib.dates.date2num创建的(1D)numpy数组。这创建了一个完全合理的绘图,除了x轴是用1e5顺序的值而不是'%H:%M'格式的日期/时间标记的。如有任何建议,我们将不胜感激。谢谢。在


Tags: importadd绘图matplotlibasfigpltax
2条回答

除了你已经找到的答案,你可以做ax.xaxis_date(),这实际上是等价的。在

作为一个简单的例子(它还使用fig.autofmt_xdate()来旋转x标签):

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime as dt

# Generate some data
x = mdates.drange(dt.datetime(2012, 01, 01), dt.datetime(2013, 01, 01),
                  dt.timedelta(weeks=2))
y = np.linspace(1, 10, 20)
data = np.random.random((y.size, x.size))

# Plot
fig = plt.figure()
ax = fig.add_subplot(111)
qmesh = ax.pcolormesh(x, y, data)
fig.colorbar(qmesh,ax=ax)
ax.axis('tight')

# Set up as dates
ax.xaxis_date()
fig.autofmt_xdate()

plt.show()

enter image description here

结果我需要一个:

import matplotlib.dates as dates
ax.xaxis.set_major_formatter(dates.DateFormatter('%H:%M'))

在那里。在

相关问题 更多 >