金融数据分析与挖掘实战 4.2 Matplotlib(二)

Matplotlib常用图形绘制

Matplotlib绘制的常用图形包括散点图、线性图、柱状图、直方图、饼图、箱线图和子图。

1.散点图

散点图又称为散点分布图,是以利用坐标点(散点)的分布形态反映特征间的相关关系的一种图形。散点图的绘图函数为:scatter(x, y, [可选项])。其中x表示横轴坐标数据列,y表示纵轴坐标数据列,可选项包含颜色、透明度等。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
path='一、车次上车人数统计表.xlsx';
data=pd.read_excel(path);
tb=data.loc[data['车次'] == 'D02',['日期','上车人数']].sort_values('日期');
x=np.arange(1,len(tb.iloc[:,0])+1)
y1=tb.iloc[:,1]
plt.rcParams['font.sans-serif'] = 'SimHei'     # 设置字体为SimHei
plt.scatter(x,y1)
plt.xlabel('日期')
plt.ylabel('上车人数')
plt.xticks([1,5,10,15,20,24], tb['日期'].values[[0,4,9,14,19,23]], rotation = 45)
plt.title('D02车次上车人数散点图')
Text(0.5,1,'D02车次上车人数散点图')

在这里插入图片描述

2.线性图

线性图的绘图函数为plot(X,Y,[可选项]),其中X表示横轴坐标数据列,Y表示纵轴坐标数据列,可选项为绘图设置,包括图形类型:散点图、虚线图、实线图等;线条颜色:红、黄、蓝、绿等;数据点形状:星型、圆圈、三角形等。可选项一些示例说明如下:
r*-- 表示数据点为星型,图形类型为虚线图,线条颜色为红色
b*-- 表示数据点为星型,图形类型为虚线图,线条颜色为蓝色
bo 表示数据点为圆圈,图形类型为实线图(默认),线条颜色为蓝色
. 表示散点图
更多的设置说明及plot函数的使用方法,可以通过help()函数查看系统帮助

#读取数据
path='一、车次上车人数统计表.xlsx';
data=pd.read_excel(path);
#筛选数据
tb=data.loc[data['车次'] == 'D02',['日期','上车人数']];
tb=tb.sort_values('日期');
tb1=data.loc[data['车次'] == 'D03',['日期','上车人数']];
tb1=tb1.sort_values('日期');
#构造绘图所需的横轴数据列和纵轴数据列
x=np.arange(1,len(tb.iloc[:,0])+1)
y1=tb.iloc[:,1]
y2=tb1.iloc[:,1]
# 定义绘图figure界面
plt.figure(1)
#在figure界面上绘制两个线性图
plt.rcParams['font.sans-serif'] = 'SimHei'     # 设置字体为SimHei
plt.plot(x,y1,'r*--')  #红色“*”号连续图,绘制D02车次
plt.plot(x,y2,'b*--')  #蓝色“*”号连续图,绘制D03车次
# 对横轴和纵轴打上中文标签
plt.xlabel('日期')
plt.ylabel('上车人数')
#定义图像的标题
plt.title('上车人数走势图')
#定义两个连续图的区别标签
plt.legend(['D02','D03'])
plt.xticks([1,5,10,15,20,24], tb['日期'].values[[0,4,9,14,19,23]], rotation = 45) 
#保存图片,命名为myfigure1。
plt.savefig('myfigure1')

在这里插入图片描述

3.柱状图

柱状图的绘图函数为bar(x,y,[可选项]),其中X表示横轴坐标数据列,Y表示纵轴坐标数据列,可选项为绘图设置。

plt.figure(2)
plt.bar(x,y1)
plt.xlabel('日期')
plt.ylabel('上车人数')
plt.title('D02车次上车人数柱状图')
plt.xticks([1,5,10,15,20,24], tb['日期'].values[[0,4,9,14,19,23]], rotation = 45) 
plt.savefig('myfigure2')

在这里插入图片描述

4.直方图

直方图的绘图函数为hist(X,[可选项]),其中X表示横轴坐标数据列,可选项为绘图设置。

plt.figure(3)
plt.hist(y1)
plt.xlabel('上车人数')
plt.ylabel('频数')
plt.title('D02车次上车人数直方图')
plt.savefig('myfigure3')

在这里插入图片描述

5.饼图

饼图的绘制函数为pie(X,Y,[可选项]),其中X表示待绘制的数据序列,Y表示对应的标签,可选项表示绘图设置。这里常用的绘图设置为百分比的小数位,可以通过autopct属性类设置。

plt.figure(4)  
# 1.计算D02~D06车次同期的上车人数总和,并用list1来保存其结果
D=data.iloc[:,0]
D=list(D.unique())  #车次号D02~D06
list1=[]    #预定义每个车次的上车人数列表
for d in D:
    dt=data.loc[data['车次'] == d,['上车人数']]
    s=dt.sum()
    list1.append(s['上车人数']) #或者s[0]
# 2.绘制饼图
plt.pie(list1,labels=D,autopct='%1.2f%%') #绘制饼图,百分比保留小数点后两位
plt.title('各车次上车人数百分比饼图')
plt.savefig('myfigure4')

在这里插入图片描述

6.箱线图

箱线图是利用数据中的最小值、上分位数、中位数、下四分位数与最大值这5个统计量来描述连续型特征变量的一种方法。它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。

plt.figure(5)  
plt.boxplot([y1.values,y2.values])
plt.xticks([1,2], ['D02','D03'], rotation = 0) 
plt.title('D02、D03车次上车人数箱线图')
plt.ylabel('上车人数')
plt.xlabel('车次')
plt.savefig('myfigure5')

在这里插入图片描述

7.多图展示

在同一个绘图界面上,绘制不同类型的图像

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt  #导入绘图库中的pyplot模块,并且简称为plt。
#读取数据
path='一、车次上车人数统计表.xlsx';
data=pd.read_excel(path);
#筛选数据
tb=data.loc[data['车次'] == 'D02',['日期','上车人数']];
tb=tb.sort_values('日期');
tb1=data.loc[data['车次'] == 'D03',['日期','上车人数']];
tb1=tb1.sort_values('日期');
#构造绘图所需的横轴数据列和纵轴数据列
x=np.arange(1,len(tb.iloc[:,0])+1)
y1=tb.iloc[:,1]
y2=tb1.iloc[:,1]
plt.rcParams['font.sans-serif'] = 'SimHei'     # 设置字体为SimHei
plt.figure('子图')
plt.figure(figsize=(10,8))

plt.subplot(3,2,1)
plt.scatter(x,y1)
plt.xlabel('日期')
plt.ylabel('上车人数')
plt.xticks([1,5,10,15,20,24], tb['日期'].values[[0,4,9,14,19,23]], rotation = 45) 
plt.title('D02车次上车人数散点图')

plt.subplot(3,2,2)
plt.plot(x,y1,'r*--')  
plt.plot(x,y2,'b*--')  
plt.xlabel('日期')
plt.ylabel('上车人数')
plt.title('上车人数走势图')
plt.legend(['D02','D03'])
plt.xticks([1,5,10,15,20,24], tb['日期'].values[[0,4,9,14,19,23]], rotation = 45)

plt.subplot(3,2,3)
plt.bar(x,y1)
plt.xlabel('日期')
plt.ylabel('上车人数')
plt.title('D02车次上车人数柱状图')
plt.xticks([1,5,10,15,20,24], tb['日期'].values[[0,4,9,14,19,23]], rotation = 45)

plt.subplot(3,2,4)
plt.hist(y1)
plt.xlabel('上车人数')
plt.ylabel('频数')
plt.title('D02车次上车人数直方图')

plt.subplot(3,2,5)
D=data.iloc[:,0]
D=list(D.unique())  #车次号D02~D06
list1=[]    #预定义每个车次的上车人数列表
for d in D:
    dt=data.loc[data['车次'] == d,['上车人数']]
    s=dt.sum()
    list1.append(s['上车人数']) #或者s[0]
plt.pie(list1,labels=D,autopct='%1.2f%%') #绘制饼图,百分比保留小数点后两位
plt.title('各车次上车人数百分比饼图')

plt.subplot(3,2,6)
plt.boxplot([y1.values,y2.values])
plt.xticks([1,2], ['D02','D03'], rotation = 0) 
plt.title('D02、D03车次上车人数箱线图')
plt.ylabel('上车人数')
plt.xlabel('车次')
plt.tight_layout()
plt.savefig('子图')

<Figure size 432x288 with 0 Axes>

在这里插入图片描述
本节所使用数据为人民邮电出版社Python金融数据分析与挖掘实战中例题数据,数据附后

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 非常感谢您的提问。Python 作为一种强大的编程语言,可以用于金融数据分析挖掘实战。Python 的数据分析库如 pandas、numpy、matplotlib 等,可以帮助分析金融数据,而数据挖掘库如 scikit-learn、tensorflow 等,则可以帮助挖掘金融数据中的规律和趋势。如果您有具体的问题或需求,我可以为您提供更详细的解答和建议。 ### 回答2: Python金融数据分析挖掘实战是指通过使用Python编程语言来对金融领域的数据进行分析和挖掘,并将其应用于实际问题中。Python是一种简单易学、功能强大的编程语言,在金融数据分析领域具有广泛的应用。以下是关于Python金融数据分析挖掘实战的介绍和应用。 首先,Python金融数据分析挖掘实战可以应用于金融市场预测与建模。通过使用Python中的数据处理、统计分析和机器学习等库,可以对金融市场数据进行建模和预测,帮助投资者做出更明智的投资决策。 其次,Python金融数据分析挖掘实战可以用于风险管理和金融产品创新。通过对金融数据进行分析和挖掘,可以发现潜在的风险因素,并采取相应的风险管理措施。同时,还可以利用分析结果创新金融产品,满足客户的不同需求。 此外,Python金融数据分析挖掘实战还可以用于金融机构的运营和决策支持。金融机构需要处理大量的数据,通过使用Python进行数据分析挖掘,可以帮助机构发现潜在的商机、提升运营效率,并为决策者提供可靠的数据支持。 最后,Python金融数据分析挖掘实战还可以应用于个人理财和财务规划。通过使用Python编程语言,个人可以对自己的财务数据进行分析和挖掘,帮助制定更合理的理财计划和财务规划。 总之,Python金融数据分析挖掘实战不仅可以用于金融市场预测和风险管理,还可以应用于金融产品创新和运营决策支持。同时,个人也可以利用Python进行个人理财和财务规划。这些应用都能够帮助实现更精确的数据分析和更有效的决策支持,从而实现更好的金融业绩和个人理财效果。 ### 回答3: Python金融数据分析挖掘实战是将Python编程语言应用于金融数据分析挖掘的实际项目。在这个领域中,Python作为一种功能强大、易于学习和使用的编程语言,被广泛应用于金融行业。 Python具有丰富的科学计算库和数据处理库,如NumPy、Pandas和SciPy等,这些库提供了各种处理和分析金融数据的工具和函数。Python还有一系列强大的可视化库,如Matplotlib和Seaborn,帮助用户直观地呈现和展示金融数据。 通过Python金融数据分析挖掘实战,可以实现以下目标: 1. 数据准备和清洗:使用Python进行数据清洗和整理,包括处理缺失值、异常值和重复值等,以获得高质量、干净的金融数据。 2. 统计分析和建模:使用Python进行统计分析,并通过建立合适的模型来预测金融市场的变动和趋势。这些模型可以包括回归模型、时间序列模型和机器学习模型等。 3. 数据可视化:使用Python的可视化库,将分析结果以图表的形式展示出来,帮助用户更好地理解和解释数据。通过数据可视化,可以揭示隐藏在数据背后的规律和模式。 4. 量化交易策略:利用Python编写量化交易策略,根据金融数据和模型的分析结果进行交易决策。通过编写自动化交易程序,可以实现快速、高效的交易执行。 Python金融数据分析挖掘实战不仅可以帮助用户更好地理解和利用金融数据,还可以提高金融决策的准确性和效率。同时,Python的开源特性和丰富的社区资源,为金融数据分析提供了强大的支持和发展空间。因此,掌握Python金融数据分析挖掘实战技能对从事金融行业的专业人士来说是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈伦2019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值