我想追踪该公司每个机构中新的covid19病例编号,即每日时间序列。我想看看如何通过漂亮的EDA绘图实时跟踪新的covid19病例。我试图在一页中为每个公司绘制直方图,但无法绘制正确的直方图。有人能告诉我怎么做吗?有什么想法吗
可再现数据:
以下是可再现的covid19跟踪时间序列数据in this gist。在此数据中,est
是指establishment code
,因此每个不同的公司可能有多个机构代码
我的尝试
以下是我对seaborns和matplotlib的尝试:
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import seaborn as sns
from datetime import timedelta, datetime
bigdf = pd.read_csv("coviddf.csv")
markers = {"new_case_sum": "s", "est_company": "X"}
for t in bigdf.company.unique():
grouped = bigdf[bigdf.company==t]
res = grouped.groupby(['run_date','county-state', 'company'])['new'].sum().unstack().reset_index('run_date')
f, axes = plt.subplots(nrows=len(bigdf.company), ncols= 1, figsize=(20, 7), squeeze=False)
for j in range(len(bigdf.company)):
p = sns.scatterplot('run_date', 'new', data=res, hue='company', markers=markers, style='cats', ax=axes[j, 0])
p.set_title(f'Threshold: {t}\n{pt}')
p.set_xlim(data['run_date'].min() - timedelta(days=60), data['run_date'].max() + timedelta(days=60))
plt.legend(bbox_to_anchor=(1.04, 0.5), loc="center left", borderaxespad=0)
但我不能得到正确的情节。我认为我为绘图数据做了正确的数据聚合,但不知何故,我使用了错误的数据属性来渲染绘图。有人能告诉我哪里错了吗?有人能提出更好的方法来实现这一点吗?有什么想法吗
所需绘图
理想情况下,我希望呈现类似此结构的绘图(所附的所需绘图仅为其他站点的参考):
有人能建议如何使我的上述方法正确吗?有没有更好的建议来为新冠病毒追踪绘制更好的时间序列图?谢谢
更新:
在我的尝试中,我试图通过每个公司的所有机构汇总新的案例数量,然后制作折线图或直方图。我们如何制作折线图,将每个公司内所有机构的所有确诊病例、死亡病例和新病例(也称为est
列)沿日期绘制在一页图中?有什么办法可以做到这一点吗
company
,每列将是每个est
的barplot
。run_date
。我添加了额外的数据,因此将有两个日期李>hue
将是new
、confirmed
和dead
的val
李>new
、confirmed
和dead
堆叠到一列中李>groupby
{示例图
用地理数据绘图
相关问题 更多 >
编程相关推荐