Plotting line with different colors

前端 未结 2 1572
感情败类
感情败类 2021-01-24 11:51
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

df1 = pd.DataFrame(np.random.randint(0,15,size=(15, 1)))
df2 = pd.DataFrame(np.random.randint(20,         


        
相关标签:
2条回答
  • 2021-01-24 12:46

    Just plot only the part of the dataframe which you want in whatever color you like, e.g. df3.iloc[:15,:].plot(color="green").

    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    
    df1 = pd.DataFrame(np.random.randint(0,15,size=(15, 1)))
    df2 = pd.DataFrame(np.random.randint(20,35,size=(10, 1)))
    
    
    frames = [df1, df2]
    result = pd.DataFrame(pd.concat(frames))
    
    df3 = result.cumsum()
    df3 = df3.reset_index(drop=False)
    print(df3)
    ax = df3.iloc[:15,:].plot(y=0, color="crimson")
    df3.iloc[15:,:].plot(y=0, color="C0", ax=ax)
    plt.show()
    

    0 讨论(0)
  • 2021-01-24 12:51

    What about

    #[...]
    df3 = result.cumsum()
    df3 = df3.reset_index(drop=False)
    plt.plot(df3.mask(df3.apply(lambda x: x.index < 15))[0], color='blue')
    plt.plot(df3.mask(df3.apply(lambda x: x.index > 15))[0], color='green')
    plt.show()
    plt.close()# do not forget this to save you from Runtime Error.
    

    0 讨论(0)
提交回复
热议问题