2017-11-24 17 views
1
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) 
df3.plot(y=0) 
plt.show() 

df3線を2つの異なる色でプロットすることは可能ですか?最初の色は行0〜14、2番目の色は行15〜24です。df1が終了してdf2が開始された場所をマークしたいと思います。異なる色の線をプロットする

答えて

0

何について

#[...] 
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. 

enter image description here

1

だけプロットあなたが好きな色にしたいデータフレーム、例えばの一部のみ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() 

enter image description here

関連する問題