【问题标题】:Matplotlib plots (0,0) even though there is no NaN or NULL value in dataframe即使数据框中没有 NaN 或 NULL 值,Matplotlib 也会绘制 (0,0)
【发布时间】:2017-02-04 23:59:16
【问题描述】:

我使用 matplotlib 绘制多条不同颜色的线。它工作得很好,但不知何故,所有绘制的线都连接到最后一个值的 (0,0)。

X 轴:bin这是我的时间范围
Y 轴:count,其中包含我想要绘制的值

我的数据框如下所示:

>df3.head()
           start_time  count    date_day       bin  cw
0 2016-05-02 00:00:00     45  2016-05-02  00:00:00  18
1 2016-05-02 00:15:00     35  2016-05-02  00:15:00  18
2 2016-05-02 00:30:00     34  2016-05-02  00:30:00  18
3 2016-05-02 00:45:00     31  2016-05-02  00:45:00  18
4 2016-05-02 01:00:00     34  2016-05-02  01:00:00  18

>df3.tail()
               start_time  count    date_day       bin  cw
17563 2016-10-31 22:45:00    114  2016-10-31  22:45:00  44
17564 2016-10-31 23:00:00     94  2016-10-31  23:00:00  44
17565 2016-10-31 23:15:00    121  2016-10-31  23:15:00  44
17566 2016-10-31 23:30:00    127  2016-10-31  23:30:00  44
17567 2016-10-31 23:45:00    135  2016-10-31  23:45:00  44

这就是我的绘图方式: 我按日历周分隔行cw

cw = np.arange(18,45,1)
for x in cw:
    df4 = df3[df3.cw == x]
    xa = df4['bin']
    ya = df4['count']
    plt.plot(xa, ya)
plt.show()

我得到的是: Plot (labels and axis are not formatted yet..)

对于df3.any().isnull(),我没有得到任何应该没问题的 NaN,但它仍然绘制 (0,0)。

df3.any().isnull()
Out[297]: 

start_time    False
count         False
date_day      False
bin           False
cw            False
dtype: bool

关于如何摆脱这条连接线到 (0,0) 的任何想法

非常感谢!

【问题讨论】:

  • 第一个快速猜测:您试图绘制一周中整整 7 天的时间,但在图中您只能看到一天的数据。这对你有意义吗?您希望其他 6 天的数据如何处理?
  • 是的,没错。我的 DataFrame 只包含星期一。我只是使用cw 来分隔行,因为我一开始不知道如何分隔或切片我的数据,因为start_time 是连续的(尽管只有星期一),但我的bin 列是一个重复序列。

标签: python pandas matplotlib plot


【解决方案1】:

我找到了解决方案:我在切片数据时有点太粗心了。

我对所有星期一的数据集进行了切片 (df.weekday == 0)。然后我用pandas.Grouper 将我的星期一数据分组到 15 分钟的容器中。
这是错误:Grouper 分组在start_time 列中的最大范围之间,因此将我的开始日期和结束日期之间的所有天数带回来。所以我有很多零值来解释我的情节。
不知何故,我未能检查这个问题。不过感谢您的宝贵时间!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    相关资源
    最近更新 更多