seaborn线在x轴上绘制日期

seaborn线在x轴上绘制日期,seaborn,line-plot,Seaborn,Line Plot,嗨 我正试图重现一些我们已经看到的新冠病毒-19的图表。我使用的数据来自约翰·霍普金斯大学的数据库 数据的排列方式使城市名称位于行中,列为日期。附加csv文件的屏幕截图。我想在seaborn中绘制直线图,在x轴上有天,在y轴上按城市确认。由于某种原因,我无法重新绘制死亡率的指数曲线 我的代码是: '''loading the file''' date_columns = list(range(12,123)) df_covid_us = pd.read_csv(covid_us_file, pa

我正试图重现一些我们已经看到的新冠病毒-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()

使用一小部分合成数据样本:

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()

请始终在问题中以文本形式发布数据框示例,而不是图片形式。这有助于人们帮助你。嗨:我如何发布我的数据帧的示例?我正在使用pycharm。谢谢你可以做
df.head(3)
左右。不管怎样,我用虚构的数据发布了一个答案。df.melt()可以工作。但我得到了一张奇怪的图表。正在尝试将我的代码粘贴到这里。但它不允许我。通过图表,你可以用图片更新问题。你有可以共享的数据链接吗?所以我可以看看死亡人数是否有下降,或者是否有其他问题?谢谢!我看了一下数据,根据它,图表看起来是准确的。我想知道,为了在官方图表中平滑数据,正在做些什么。。。