Seaborn tsplot没有显示数据

时间:2017-03-22 14:49:22

标签: python pandas seaborn

我试图用seaborn制作一个简单的tsplot,但由于我不清楚的原因,当我运行代码时没有任何显示。这是一个最小的例子:

import numpy as np
import seaborn as sns
import pandas as pd

df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})

ax = sns.tsplot(data=df, value='value', time='time')
sns.plt.show()

enter image description here

通常tsplot你为每个时间点提供多个数据点,但如果你只提供一个数据点,它是否会起作用?

我知道matplotlib可以很容易地用来做这个,但是我想用seaborn来实现它的一些其他功能。

2 个答案:

答案 0 :(得分:2)

您缺少个人unit。当使用数据帧时,想法是记录了相同unit的多个时间序列,其可以是数据帧中的单独标识符。然后根据不同的unit s计算错误。

所以对于一个系列而言,你可以像这样再次使用它:

df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})
df['subject'] = 0
sns.tsplot(data=df, value='value', time='time', unit='subject')

只是看看如何计算错误,请看这个例子:

dfs = []
for i in range(10):
    df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)})
    df['subject'] = i
    dfs.append(df)
all_dfs = pd.concat(dfs)
sns.tsplot(data=all_dfs, value='value', time='time', unit='subject')

答案 1 :(得分:1)

您可以使用indextimeSeries开始,然后绘制df = pd.DataFrame({'value': np.random.rand(31), 'time': range(31)}) df = df.set_index('time')['value'] ax = sns.tsplot(data=df) sns.plt.show()

         <asp:Panel ID="panel_gridholder" runat="server"  style="position:absolute;left:10px;width:97%; min-width:1020px;margin-top:3px;margin-bottom:20px;overflow:auto;" >


            <asp:GridView ID="GridView_Vehicle" runat="server" AutoGenerateColumns="False" AllowSorting="true" PagerSettings-Position="TopAndBottom"
                OnPageIndexChanging="GridView_Vehicle_PageIndexChanging" OnSorting="GridView_Vehicle_Sorting" PageSize="100"
                GridLines="None" AllowPaging="true" CssClass="mGrid" PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt">
                <Columns> </Columns>
           </asp:GridView>

            <div style="height: 400px"></div>
        </asp:Panel>

set_index