我有一个看起来像这样的大熊猫数据框
我想在X-axis
上绘制时间,在Y-axis
上绘制销售量。这是我到目前为止尝试过的。
ax = sns.scatterplot(x="Time", y="sales", data=df)
我收到错误提示:
无法解释输入的“时间”
我看不到您的其余代码,因此错误的原因尚不清楚,但是由于该函数似乎在x轴上的值存在问题,因此我怀疑格式存在问题这些值。请添加其余代码,以便我对问题有更清晰的了解。
如之前在此线程中所述,您需要格式化x轴
from datetime import datetime
import matplotlib.pyplot as plt
times = ['01:00 AM','02:00 AM','03:00 AM','04:00 AM','05:00 AM']
sales = [256, 147, 478, 569, 147]
format = '%I:%M %p'
timesFormated =[]
for i in times:
timesFormated.append(datetime.strptime(i, format))
plt.plot(timesFormated, sales)
plt.show()
我注意到您提到您有一个pada数据框,所以这是另一个选择
import matplotlib.pyplot as plt
import pandas as pd
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
df = pd.DataFrame({
'times':['01:00 AM','02:00 AM','03:00 AM','04:00 AM','05:00 AM'],
'sales':[256, 147, 478, 569, 147]
})
# Ninja edit: I did not actually need these two following lines
# df['times'] = pd.to_datetime(df['times'])
# df['times'] = df['times'].dt.strftime('%I:%M %p')
plt.plot(df['times'], df['sales'])
plt.show()