数据可视化练习题

题目

1.文件读取及数据查看;
2.提取股票代号600000在2017年1月3日至2017年1月20日的收盘价格数据,并绘制股票价格走势图进行分析;
3.提取股票代号600000在2017年1月3日至2017年1月24日的交易量数据,并绘制交易量分布柱状图进行分析;
4.提取股票代号600000在2017年1月至11月的交易量统计数据,并绘制月交易量分布饼图进行分析;
5.绘制以上图形组成的3×1子图。

答案

1. 文件读取及查看

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=pd.read_excel('/data/trd.xlsx',engine="openpyxl")

#查看列名和数据

print(data.columns) 
print(data.iloc[:5])

2. 提取股票代号600000在2017年1月3日至2017年1月20日的收盘价格数据,并绘制股票价格走势图

dt=data.loc[data['股票代码']==600000,['交易日期','收盘价','交易量']]
I1=dt['交易日期'].values>='2017-01-03'
I2=dt['交易日期'].values<='2017-01-20'
dta=dt.iloc[I1&I2,:]
y1=dta['收盘价']
x1=range(len(y1))

plt.figure(1)
plt.plot(x1,y1)
plt.xlabel(u' date ',fontproperties='SimHei')
plt.ylabel(u' Closing_Price ',fontproperties='SimHei')
plt.title(u' Closing_Price_State ',fontproperties='SimHei')
plt.savefig('1.png')

3. 提取股票代号600000在2017年1月3日至2017年1月24日的交易量数据,并绘制交易量分布柱状图

I3=dt['交易日期'].values>='2017-01-03'
I4=dt['交易日期'].values<='2017-01-24'
dta=dt.iloc[I3&I4,:]
y2=dta['交易量']
x2=range(len(y2))

plt.figure(2)
plt.bar(x2,y2)
plt.xlabel(u' date ',fontproperties='SimHei')
plt.ylabel(u' Volume ',fontproperties='SimHei')
plt.title(u' Volume_State ',fontproperties='SimHei')
plt.savefig('2.png')

4. 提取股票代号600000在2017年1月至11月的交易量统计数据,并绘制月交易量分布饼图

D=np.zeros((11))
list1=list()
for m in range(11):
    m=m+1
    if m<10:
        m1='2017-0'+str(m)+'-01'
        m2='2017-0'+str(m)+'-31'
        mon='0'+str(m)
    else:
        m1='2017-'+str(m)+'-01'
        m2='2017-'+str(m)+'-31'
        mon=str(m)
    I1=dt['交易日期'].values>=m1
    I2=dt['交易日期'].values<=m2
    D[m-1]=dt.iloc[I1&I2,[2]].sum()[0]
    list1.append(mon)

plt.figure(3)
plt.pie(D,labels=list1,autopct='%1.2f%%') # 保留小数点后两位
plt.title(u'Month_Volume_State',fontproperties='SimHei')
plt.savefig('3.png')

5. 绘制以上图形组成的3×1子图

plt.figure(4)
plt.figure(figsize=(14,6))
plt.subplot(1,3,1)
plt.plot(x1,y1)
plt.xlabel(u' date ',fontproperties='SimHei')
plt.ylabel(u' Closing_Price ',fontproperties='SimHei')
plt.title(u' Closing_Price_State ',fontproperties='SimHei')
plt.subplot(1,3,2)
plt.bar(x2,y2)
plt.xlabel(u' date ',fontproperties='SimHei')
plt.ylabel(u' Volume ',fontproperties='SimHei')
plt.title(u' Volume_State ',fontproperties='SimHei')
plt.subplot(1,3,3)
plt.pie(D,labels=list1,autopct='%1.2f%%') # 保留小数点后两位
plt.title(u' Month_Volume_State ',fontproperties='SimHei')
plt.savefig('4.png')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值