【问题标题】:seaborn line plots with date on the x axisx 轴上带有日期的 seaborn 线图
【发布时间】:2020-09-03 10:43:34
【问题描述】:

enter image description here 你好,

我正在尝试重新创建我们看到的一些 covid-19 图表。我正在使用来自约翰霍普金斯大学数据库的数据。

数据的排列方式是城市名称在行中,列是日期。附上 csv 文件的屏幕截图。我想在 seaborn 中绘制折线图,​​其中 x 轴为天,y 轴为城市确认病例。由于某种原因,我无法重现死亡率的指数曲线。

我的代码是:

'''loading the file'''
date_columns = list(range(12,123))
df_covid_us = pd.read_csv(covid_us_file, parse_dates=date_columns)
df_covid_us = pd.read_csv(covid_us_file)

'''slicing the columns needed. Province_State and the date columns'''
df = df_covid_us.iloc[:, np.r_[6, 12:123]]
df = df[df['Province_State']=='New York']

'''using df.melt'''
df2 =df.melt(id_vars='Province_State',var_name='Date',value_name='Deaths')

'''plotting using seaborn'''[enter image description here][2]
sns.lineplot(x='Date',y='Deaths',data=df2, ci=None)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=20))
plt.show()

enter image description here

【问题讨论】:

  • 请始终在您的问题中将您的 DataFrame 示例作为文本发布,而不是作为图片发布。这有助于人们帮助你。
  • 嗨:如何发布我的数据框样本?我正在使用pycharm。谢谢
  • 你可以做df.head(3) 左右。无论如何,我发布了一个带有虚构数据的答案。

标签: seaborn line-plot


【解决方案1】:

使用一小部分虚构数据:

import pandas as pd, seaborn as sns
import matplotlib.pyplot as plt, matplotlib.dates as mdates

df = pd.DataFrame({'Province_State':['American Samoa','Guam','Puerto Rico'],
                   '2020-01-22':[0,1,2],
                   '2020-01-23':[2,1,0]}) 

# to get dates in rows
date_columns = [c for c in df.columns.tolist() if c.endswith('/2020')]
df2 = df.melt(id_vars='Province_State',value_vars=date_columns,
              var_name='Date',value_name='Deaths')

# dates from string to datetime
df2['Date'] = pd.to_datetime(df2['Date'])

sns.lineplot(x='Date',y='Deaths',hue='Province_State',data=df2)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=1)) 

plt.show()

【讨论】:

  • df.melt() 有效。但我得到一个奇怪的图表。试图在这里粘贴我的代码。但它不会让我。
  • 通过图表,您可以用图片更新问题。
  • 您有可以分享的数据的链接吗?所以我可以看看死亡人数是否有这些下降,或者是否有其他问题?
  • 谢谢!我查看了数据,基于它的图表看起来很准确。我想知道在官方图表中对数据做了什么以使其平滑......
猜你喜欢
  • 2020-11-22
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多