pandas生成直方图更简单。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
print('\n pd.read_table:')
jddf=pd.read_csv('data\stock50.csv',sep=',',header=None,
names=['id','time','code','open_p','close_p','low_p','vol','high_p','col'])
# 方式一,显示一列数据
#jddf['open_p'].hist()
运行:
显示二列数据
# 方式二,显示二列数据
jddf[['open_p','close_p']].plot(kind='hist',alpha=0.5,colormap='tab10_r',bins=8)
plt.legend(loc=8,frameon=False,bbox_to_anchor=(0.5,-0.3))
方式三 用hist方法中的by参数制定分类变量表示,并按照其分类分别绘制图形
# 方式三 用hist方法中的by参数制定分类变量表示,并按照其分类分别绘制图形
jddf['Market']=list(map(lambda x: 'Good' if x>=0 else 'Bad',
jddf['close_p']-jddf['open_p']))
jddf[['open_p','close_p']].hist(by=jddf['Market'],
stacked=True,bins=8,
color=['Gray','lightblue'])
运行: