热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matplotilb模块②

条形图(垂直)绘制:关键字(bar)虽然饼图可以很好地表达离散型变量在各水平上的差异,但其不擅长对比差异不大或水平值过多的离散型变量,因为饼图是通过各扇形面积的大小来比价差异的,面

条形图(垂直)绘制:关键字(bar)

虽然饼图可以很好地表达离散型变量在各水平上的差异,但其不擅长对比差异不大或水平值过多的离散型变量,因为饼图是通过各扇形面积的大小来比价差异的,面积的比较有时并不直观;
对于条形图而言,对比的是柱形的高低,柱体越高,代表的数值越大,反之亦然;

bar(x, height, https://img2.php1.cn/3cdc5/3c66/9f3/18d891735a11b769.png" alt="" loading="lazy">

 

 

 绘制图表的关键性代码:  1.指定条形图x轴的刻度值2.指定条形图y轴的数值

plt.bar(x = range(GDP.shape[0],height = GDP.GDP)

 

 

 3.指定条形图x轴的刻度标签tick_label = GDP.Province

 

 

 4.指定条形图填充色 (不重要) color = 'steelblue'

 

plt.bar(x = range(GDP.shape[0]), # 指定条形图x轴的刻度值
height = GDP.GDP, # 指定条形图y轴的数值
tick_label = GDP.Province# 指定条形图x轴的刻度标签
, color = 'steelblue'# 指定条形图的填充色
)

5.添加y轴标签

plt.ylabel('GDP(万亿)')

 

 

 

 6.添加标题plt.title('2017年度6个省份GDP分布') 

 

 

 7.为每个图形添加数值标签

for x,y in enumerate(GDP.GDP):
plt.text(x,y
+0.1,'%s' %round(y,1),ha='center')

 

 

 



 


条形图(水平)绘制:关键字(barh)

1.读取数据 并做升序排序

 

 

 2.绘制条形图基本形状

 

 

 3.写入y轴城市数据 并指定颜色

 

 

 4.添加x轴标签

 

 

 5.添加标题:

 

 

 6.写入数据

 



 


条形图(交叉)绘制:关键字(bar)

1.读取数据

 

 

 2.创建透视表

 

 

 3.对数据集降序排序

 

 

 4.绘制基本图形

 

 

 5.设置x轴标签角度以及颜色

 

 

 6.设置柱形宽度以及标题

 

 7.添加y轴数据 并删除x轴标签数据

 

 

 

 



 


 直方图绘制:关键字(hist)

1.读入数据

 

 2.检查年龄是否有缺失 如果有缺失,将无法绘制直方图

 

 3.为缺失数据添加平均值

 

 4.绘制基本直方图

 

 5.添加填充色 边框色(不重要)

 

 6.添加x轴标签和y轴标签以及标题

 

 



 


箱线图的绘制:关键字(boxplot)

参数说明:

六个参数解释:

1.最小值(下须值)

就是排在第一位的值

2.第一四分位数

第一四分位数(Q1)又称为“较小四分位数”,把一组值从小到大排列并分成四等分,处于三个分割点位置的得分就是四分位数,也就是样本所有数值从小到大排列后第25%的数字。

3.中位数

中位数(Q2),又称第二四分位数,等于该样本中所有数值由小到大排列后第50%的数字。

4.第三四分位数

第三四分位数(Q2),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

5.四分位距

四分位距(InterQuartile Range,IQR) ,第三四分位数与第一四分位数的差距。


操作步骤:

1.读取数据:

 

 2.绘制基本箱线图:

 

 3.以点的形式显示均值,自定义颜色填充盒型图,设置箱体属性

 

 4.设置异常点和均值点的属性

 

 5.设置中位数属性,删除x轴中的1

 

 6.添加标题

 

 



 


折线图绘制:关键字(plot)

1.读取数据

 

 2.绘制基本折线图

 

 3.定义折线类型,宽度,颜色

 

 4.在图中添加圆点, 设置点的大小,点的颜色,以及点的边框色

 

 5.获取图的坐标信息,设置日期显示格式

 

 6.设置x轴每个刻度的间隔天数 并添加y轴标签以及标题

 


 绘制两条折线图

 

 设置坐标信息并出图




 散点图的绘制:关键字scatter

1.读取数据

 

 2.绘制散点图

 

 

 3.添加x轴和y轴的标签以及标题

 



 


气泡图 

气泡图与散点图大致一致,只需在绘制图表中加上s参数




热力图的绘制: 关键字(heatmap)

需要导入模块 seaborn 借助这个模块来实现热力图的绘制

1.读取数据

 

 2.根据交易日期衍生出年份和月份字段

 

 3.统计每年各月份的销售总额 绘制出一张新表

 

 4.绘制热力图

 

 5.添加标题

 

 



 


组合图绘制:

满足需求:

工作中往往会根据业务需求,将绘制的多个图形组合到一个大图框内,形成类似仪表板的效果

读取数据:

 

 完整代码:

# 读取数据
Prod_Trade = pd.read_excel(r'Prod_Trade.xlsx')
# 衍生出交易年份和月份字段
Prod_Trade['year'] = Prod_Trade.Date.dt.year
Prod_Trade[
'month'] = Prod_Trade.Date.dt.month
# 设置大图框的长和高
plt.figure(figsize = (15,6))
# 设置第一个子图的布局
ax1 = plt.subplot2grid(shape = (2,3), loc = (0,0))
# 统计2012年各订单等级的数量
Class_Counts = Prod_Trade.Order_Class[Prod_Trade.year == 2012].value_counts()
Class_Percent
= Class_Counts/Class_Counts.sum()
# 绘制订单等级饼图
ax1.pie(x = Class_Percent.values, labels = Class_Percent.index, autopct = '%.1f%%')
# 添加标题
ax1.set_title('各等级订单比例')
# 设置第二个子图的布局
ax2 = plt.subplot2grid(shape = (2,3), loc = (0,2))
# 统计2012年每月销售额
Month_Sales = Prod_Trade[Prod_Trade.year == 2012].groupby(by = 'month').aggregate({'Sales':np.sum})
# 绘制销售额趋势图
Month_Sales.plot(title = '2012年各月销售趋势', ax = ax2, legend = False)
# 删除x轴标签
ax2.set_xlabel('')
# 设置第三个子图的布局
ax3 = plt.subplot2grid(shape = (2,3), loc = (0,1))
# 绘制各运输方式的成本箱线图
sns.boxplot(x = 'Transport', y = 'Trans_Cost', data = Prod_Trade, ax = ax3)
# 添加标题
ax3.set_title('各运输方式成本分布')
# 删除x轴标签
ax3.set_xlabel('')
# 修改y轴标签
ax3.set_ylabel('运输成本')
# 设置第四个子图的布局
ax4 = plt.subplot2grid(shape = (2,3), loc = (1,0))
# 2012年客单价分布直方图
sns.distplot(Prod_Trade.Sales[Prod_Trade.year == 2012], bins = 40, norm_hist = True, ax = ax4, hist_kws = {'color':'steelblue'}, kde_kws=({'linestyle':'--', 'color':'red'}))
# 添加标题
ax4.set_title('2012年客单价分布图')
# 修改x轴标签
ax4.set_xlabel('销售额')
# 设置第五个子图的布局
ax5=plt.subplot2grid(shape=(2,3),loc=(1,2))
Titanic
= pd.read_csv('titanic_train.csv')
Titanic.dropna(subset
=['Age'], inplace=True)
plt.hist(x
= Titanic.Age, bins = 20, color = 'red',edgecolor = 'black' )
plt.xlabel(
'年龄')
plt.ylabel(
'频数')
plt.title(
'乘客年龄分布')
# 设置第六个子图的布局
ax6=plt.subplot2grid(shape=(2,3),loc=(1,1))
GDP
= pd.read_excel(r'Province GDP 2017.xlsx')
GDP.sort_values(by
= 'GDP',inplace = True)
plt.barh(y
= range(GDP.shape[0]),
width
= GDP.GDP,
tick_label
= GDP.Province,
color
= 'green',
)
plt.xlabel(
'GDP(万亿)')
plt.title(
'2017年度6个省份GDP分布')
for y,x in enumerate(GDP.GDP):
plt.text(x
+0.1,y,'%s' % round(x,1),va='center')
# 调整子图之间的水平间距和高度间距
plt.subplots_adjust(hspace=0.6, wspace=0.3)
# 图形显示
plt.show()

 

 



 


可视化相关模块:


1.matplotlib

 数据分析三剑客中的之一 也是使用最广泛的可视化模块


2.seaborn

 

 网址:http://seaborn.pydata.org/


3.highcharts

网址:https://www.highcharts.com.cn/demo/highcharts

 

 4.echarts

网址:https://echarts.apache.org/examples/zh/index.html

特点:可以通过python代码直接调用

 


5. ds.js

网址:https://observablehq.com/

 



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 本文为Codeforces 1294A题目的解析,主要讨论了Collecting Coins整除+不整除问题。文章详细介绍了题目的背景和要求,并给出了解题思路和代码实现。同时提供了在线测评地址和相关参考链接。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Python开源库和第三方包的常用框架及库
    本文介绍了Python开源库和第三方包中常用的框架和库,包括Django、CubicWeb等。同时还整理了GitHub中最受欢迎的15个Python开源框架,涵盖了事件I/O、OLAP、Web开发、高性能网络通信、测试和爬虫等领域。 ... [详细]
author-avatar
艹丶马化腾_323
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有