【问题标题】:Recreate this chart in python - what type of chart is it?在 python 中重新创建这个图表 - 它是什么类型的图表?
【发布时间】:2020-04-21 14:33:01
【问题描述】:

我正在尝试从 Reddit 上的 this post 重新创建图表。我如何在 python 中重新创建这样的图表?你会怎么称呼这种类型的图表?

图表如下所示:

我尝试了this similar approach,但气泡图并不是我想要的。这是我的数据的简化版本:

Date,Asleep,Awake
3/31,12:00 AM,5:00 AM
3/31,6:00 AM,8:30 AM
3/31,12:00 PM,2:45 PM
3/31,5:30 PM,8:30 PM
3/31,11:00 PM,11:59 PM
4/1,12:00 AM,4:30 AM
4/1,6:00 AM,9:00 AM
4/1,11:30 AM,2:00 PM
4/1,5:00 PM,9:00 PM
4/1,10:45 PM,11:59 PM
4/2,12:00 AM,2:30 AM
4/2,3:00 AM,8:00 AM
4/2,10:30 AM,2:00 PM
4/2,5:00 PM,10:00 PM
4/3,12:00 AM,8:30 AM
4/3,11:00 AM,3:00 PM
4/3,6:00 PM,9:00 PM
4/3,10:30 PM,11:59 PM
4/4,12:00 AM,9:00 AM
4/4,10:30 AM,12:00 PM
4/4,3:30 PM,5:00 PM
4/4,8:00 PM,10:30 PM
4/4,11:00 PM,11:59 PM

【问题讨论】:

  • 在我看来,这是一种条形图,带有bottom 选项。但需要进行一些调整。

标签: python pandas plot data-visualization


【解决方案1】:

这会让你成为其中的一部分......

转换为正确的类型

df['Date'] = pd.to_datetime(df.Date.radd('2020/'), format='%Y/%m/%d')
df['Asleep'] = pd.to_datetime(df.Asleep) - pd.Timestamp('now').normalize()
df['Awake'] = pd.to_datetime(df.Awake) - pd.Timestamp('now').normalize()

vlines

import matplotlib.pyplot as plt

plt.vlines(df.Date, df.Asleep, df.Awake)

从这里开始,您需要弄清楚如何设置轴的格式并加粗线条。这比我今天早上想处理的还要多。

【讨论】:

    猜你喜欢
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多