2 回答
TA贡献1783条经验 获得超4个赞
您遇到了两种不起作用的情况。sns.regplot
不适用于日期。并且plt.plot
需要指定数据(它无法仅通过列名知道要使用哪些数据)。
因此,以下任何一项都会为您提供数据的散点图
sns.scatterplot(x="Received", y="days", data=simple_denied, marker="+")
sns.scatterplot(x=simple_denied["Received"], y=simple_denied["days"], marker="+")
plt.scatter(simple_denied["Received"].values, simple_denied["days"].values, marker="+")
plt.plot(simple_denied["Received"].values, simple_denied["days"].values, marker="+", ls="")
plt.plot("Received", "days", data=simple_denied, marker="+", ls="")
TA贡献1963条经验 获得超6个赞
让我们从设置数据开始。我实际上在您的示例数据集中添加了另一个日期“2014-12-31”,以便我们可以在同一天收到多个请求时验证我们的绘图例程是否有效:
import matplotlib.pyplot as plt
plt.style.use('seaborn')
import pandas as pd
import numpy as np
dates = np.array(['2012-08-01', '2014-12-31',
'2014-12-31', '2015-02-25',
'2015-10-15'], dtype='datetime64')
days = np.array([41, 692, 50, 621, 111])
df = pd.DataFrame({'Received' : dates, 'Days' : days})
创建的数据框应该有可能接近你所拥有的。生成您想要的散点图现在很简单:
fig, ax = plt.subplots(1, 1)
ax.scatter(df['Received'], df['Days'], marker='+')
ax.set_xlabel("Receieved")
ax.set_ylabel("Days")
这给了我以下情节:
正如@ImportanceOfBeingErnest 在下面的评论中所指出的,您需要最新版本的 Pandas 才能使此例程正常工作。
添加回答
举报