根据不同分布的随机数绘制直方图
import numpy.random as npr
norm=npr.normal(1,1,1000);beta=npr.beta(a=2,b=4,size=1000)
plt.figure(figsize=(12,6))
plt.subplot(121)
plt.hist(norm,label='正态分布样本值',bins=30,facecolor='c',edgecolor='k')
plt.xlabel('样本值')
plt.ylabel('频数')
plt.legend()
plt.grid()
plt.subplot(122)
plt.hist(beta,label='贝塔分布样本值',bins=30,facecolor='c',edgecolor='k')
plt.xlabel('样本值')
plt.ylabel('频数')
plt.legend()
plt.grid()
同一坐标系中比较不同分布的直方图
normdf=pd.Series(npr.normal(0,1,1000))
logdf=pd.Series(npr.lognormal(0,1,1000))
a=pd.concat([normdf,logdf],axis=1)
a.columns=['正态分布样本','对数正态分布样本']
a=a.values
plt.figure(figsize=(8,6))
plt.hist(a,label=['正态分布样本','对数正态分布样本'],bins=200,stacked=False)
plt.xlabel('样本值')
plt.ylabel('频数')
plt.title('两分布抽样比较')
plt.legend()
plt.grid()
垂直条形图
sid=['股票a','股票b','股票c','股票d']
date=['2018-09-03','2018-09-04','2018-09-05','2018-09-06','2018-09-07']
stock=np.array([[ 0.003731, 0.021066, -0.004854, 0.006098, -0.00606 ],
[-0.001838, 0.001842, -0.016544, -0.003738, 0.003752],
[-0.003087, -0.000344, -0.033391, 0.007123, 0.004597],
[-0.024112, 0.011704, -0.029563, -0.01457 , 0.016129]])
stockre=pd.DataFrame(stock,sid,date).T
stockre
Out[29]:
股票a 股票b 股票c 股票d
2018-09-03 0.003731 -0.001838 -0.003087 -0.024112
2018-09-04 0.021066 0.001842 -0.000344 0.011704
2018-09-05 -0.004854 -0.016544 -0.033391 -0.029563
2018-09-06 0.006098 -0.003738 0.007123 -0.014570
2018-09-07 -0.006060 0.003752 0.004597 0.016129
plt.figure(figsize=(12,6))
plt.subplot(211)
plt.bar(x=stockre.columns,height=stockre.iloc[0],label='9月3日涨跌幅')
plt.ylabel('涨跌幅')
plt.title('不同股票涨跌幅比较')
plt.legend()
plt.grid()
plt.subplot(212)
plt.bar(x=stockre.columns,height=stockre.iloc[3],label='9月6日涨跌幅')
plt.ylabel('涨跌幅')
plt.title('不同股票涨跌幅比较')
plt.legend()
plt.grid()