[英]How to set the font size for labels in pd.DataFrame.plot()? (pandas)
[英]consistent colors after multiple calls of pd.DataFrame.plot()
我有一个带有一些数字数据的数据框v
。
v=pd.DataFrame(data=np.random.rand(300,3))
我想在同一matplotlib
图上绘图:
我使用pd.DataFrame.plot()
plt.figure()
v.plot(style='o',legend=False,ax=plt.gca(),alpha=0.2,ls='')
v.rolling(7).mean().plot(legend=False,ax=plt.gca())
这很好。
但是,在第一个图上绘制的点将根据其行号进行着色。 第二个图中的线条也一样。
我希望两种绘图命令之间的两种颜色保持一致,因此通过移动平均值获得的线具有与散点图相同的颜色。 如何获得?
这是我运行代码的地方。 显然,我不知道红线是否对应于绿色的橙色或蓝色点...
原版的
我相信您需要-
%matplotlib inline # only for jupyter notebooks
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
colors = {0: 'red', 1:'green', 2:'blue'}
v=pd.DataFrame(data=np.random.rand(300,3))
plt.figure()
v.plot(marker='o',legend=False,ax=plt.gca(),ls='', alpha=0.2, color=colors.values())
v.rolling(7).mean().plot(legend=False,ax=plt.gca(), color=colors.values())
UPDATE
随便-
选项1(无额外cm
依赖性)
colors_rand = np.random.rand(len(v.columns),3)
v.plot(marker='o',legend=False,ax=plt.gca(),ls='', alpha=0.5, color=colors_rand )
v.rolling(7).mean().plot(legend=False,ax=plt.gca(), color=colors_rand )
选项2(由OP建议)
v.plot(marker='o',legend=False,ax=plt.gca(),ls='', alpha=0.5, colors=cm.rainbow(np.linspace(0,1,v.shape[1]) ))
v.rolling(7).mean().plot(legend=False,ax=plt.gca(), colors=cm.rainbow(np.linspace(0,1,v.shape[1]) ))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.