matplotlib2tikz 日期数据错误

matplotlib2tikz 日期数据错误

因此,我尝试将一个图从 python 转换为 Tikz,x 轴上有小时数据。

这是python中的图像:

在此处输入图片描述

但是当我使用时tikz_save出现这个错误:

TypeError: a float is required

我正在查看,我猜测错误是由于 x 中的数据类型造成的。我该如何解决这个问题?

提前致谢!

答案1

很难知道到底发生了什么,但据我所知,这将解决你的问题

import matplotlib.pyplot as plt
import datetime
from matplotlib2tikz import save as tikz_save

# input data
t = ['10:00:00', '10:05:00', '10:07:00', '10:27:00']
P = [10, 20, 30, 40]

plt.style.use('ggplot')

fmt = '%H:%M:%S'
tseconds = [datetime.datetime.strptime(k, fmt) for k in t]
dt = [(k - tseconds[0]).seconds for k in tseconds]
dtmax = float(max(dt))
dt = np.array(dt) / dtmax

fig, ax = plt.subplots()
ax.plot(dt, P)
ax.set_xlabel('time')
ax.set_ylabel('Pressure')
fig.canvas.draw()

labels = plt.xticks()
labels = [datetime.timedelta(seconds = label * dtmax) + tseconds[0] for label in labels[0]]
tlabels = [label.strftime(fmt) for label in labels]
ax.set_xticklabels(tlabels)
plt.xticks(rotation = 45)

# export    
tikz_save('test.tex')

在此处输入图片描述

我知道x-label 不对,我会把那部分留给你去弄清楚

相关内容