【问题标题】:Seaborn: lineplot looks like a step plotSeaborn:线图看起来像阶梯图
【发布时间】:2019-01-30 21:51:03
【问题描述】:

我正在尝试使用以下代码在 Jupyter Notebook 中使用 Seaborn 构建线图:

import pandas as pd
import seaborn as sns

# load csv
df=pd.read_csv('C:/Users/1/Desktop/graphs/seaborn/Data.csv')
# make sure date is in datetime
df['Date'] = pd.to_datetime(df['Date'], format='%m-%d-%y')
# generate graph
g = sns.lineplot(x="Date", y="Data", data=df)

plt.show()

但是,结果如下所示:

而所需的输出如下(内置在 Excel 中):

为了使情节更流畅,我缺少什么论据?

.csv 看起来像这样:

Date,Data
01-09-97,
01-10-97,
01-11-97,
01-12-97,
01-01-98,
01-02-98,
01-03-98,
01-04-98,
01-05-98,309.5
01-06-98,
...
01-07-14,44726.5
01-08-14,45735.1
01-09-14,47430
01-10-14,49887.7
01-11-14,51799.5
01-12-14,54258.1
01-01-15,52079.1
01-02-15,51110.6
01-03-15,49614.8
01-04-15,49989.2

【问题讨论】:

  • 您能分享数据以便我们重现问题吗?
  • 我该怎么做?这是 google 驱动器上 .csv 文件的链接:drive.google.com/open?id=1VmI2QweaWDGalxU86EhmYYI7pdL4PypH
  • 您可以通过编辑问题来分享一些最少的数据,或者您可以在线上传文件并分享一些链接。
  • @СтепанСмирнов 这可能是因为您在文件开头附近有大量没有数据。我建议取出没有任何数据的 csv 文件行。

标签: python python-3.x visualization seaborn


【解决方案1】:

简单的错误,你的日期格式不是%m-%d-%y,而是%d-%m-%y:

import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt

# load csv
df=pd.read_csv("test.csv")
# make sure date is in datetime
df['Date'] = pd.to_datetime(df['Date'], format='%d-%m-%y')
# generate graph
g = sns.lineplot(x="Date", y="Data", data=df)

plt.show()

输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 2015-03-24
    相关资源
    最近更新 更多