Python金融大数据分析-第五章

第五章 数据可视化

5.1 二维绘图

5.1.1 一维数据集

#生成随机数
np.random.seed(1000)
y = np.random.standard_normal(20)
x = range(len(y))
#用y逐个相加绘图
plt.plot(y.cumsum())
#加紧凑坐标轴
plt.grid(True)
##添加网格线
plt.axis('tight')
#加坐标轴名字,标题
plt.xlabel('A')
plt.ylabel('B')
#解决中文名显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title('第四章绘图')

Python金融大数据分析-第五章_第1张图片

#可以用plt.xlim()限制坐标轴限制
plt.xlim(a,b)
plt.ylim(a,b)
#可以设置绘图线条和点样式
plt.plot(y.cumsum(),'b',lw=1.5)#蓝色,线宽1.5
plt.plot(y.cumsum(),'ro')#红色圆点
代表字符 颜色和样式
- 实线
短划线
-. 点实线
虚线
. 点标记
像素标记
o 圆标记
v 向下三角形
^ 向上三角形
< 左上三角形
1 2 3 4 向 下 上 左 右 三角形指示
s 方向
p 五边形
* 星号
h 六角标志1
H 六角标志2
+ 加号
x
D 菱形
d 细菱形
竖线 垂直

5.1.2 二维数据集

在一幅图里用不同的刻度或者可视化方式(折线图和柱状图)展示数据。

np.random.seed(2000)
y = np.random.standard_normal((20,2))
print(y)
print(y.cumsum(axis=0))
#生成20组二维随机数组,之后再按组加和
#(a,b),(c,d)...... = (a,b),(a+c,b+d)......
plt.figure(figsize=(7,4))
plt.plot(y,lw=1.5)
plt.plot(y,'ro')
plt.grid(True)
plt.axis('tight')
plt.xlable('X-axis')
plt.ylable('Y-axis')
plt.title('二维数据绘图')
##也可以分开两维命名然后做注释
plt.plot(y[:,0],lw=1.5,label='第一维')
plt.plot(y[:,1],lw=1.5,label='第二维')
#y[:,0]代表纵向所有内容,横向只有第一维
plt.title('二维数据绘图')

Python金融大数据分析-第五章_第2张图片

##分左右两个纵坐标轴绘图
fig,ax1=plt.subplots()
plt.plot(y[:,0],'b',lw=1.5,label='第一维')
plt.legend(loc=8)
plt.axis('tight')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('二维数据绘图')
ax2=ax1.twinx()
plt.plot(y[:,1]*100,'r',lw=1.5,label='第二维')
plt.grid(True)
plt.legend(loc=0)
##关键语法
fig,ax1=plt.subplots()
ax2=ax1.twinx()

Python金融大数据分析-第五章_第3张图片

###分子图绘制两组数据
plt.figure(figsize=(8,5))###关键语法
plt.subplot(211)###关键语法
plt.plot(y[:,0],'b',lw=1.5,label='第一维')
plt.legend(loc=8)
plt.axis('tight')
plt.ylabel('Y-axis')
plt.title('二维数据绘图')
plt.subplot(212)###关键语法
plt.plot(y[:,1]*100,'r',lw=1.5,label='第二维')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.grid(True)
plt.legend(loc=0)

Python金融大数据分析-第五章_第4张图片

##可以把第二张图改成柱状图,变成两幅不同类别子图合集
##注意颜色参数声明参数名字
plt.bar(np.arange(len(y)),y[:,1]*100,
        color ='r',width=0.5,label='第二维')

Python金融大数据分析-第五章_第5张图片

##用scatter画散点图,在加入第三维,用颜色表示
c = np.random.randint(0,10,len(y))
plt.scatter(y[:,0],y[:,1],c=c,marker='o')
plt.colorbar()
print(len(y))

Python金融大数据分析-第五章_第6张图片

你可能感兴趣的:(Python金融大数据分析-第五章)