高考考试网
当前位置: 首页 高考资讯

pythonmatplotlib怎么画图(使用Python轻松做出各类图表)

时间:2023-06-08 作者: 小编 阅读量: 3 栏目名: 高考资讯

MATLAB可以做出各种函数以及数值分布图像非常的好用和方便。MATLAB虽然好用,但毕竟是收费软件,而且相比于MATLAB,很多人更喜欢Python的语法。第二种是作柱状图的叫做hist,第三种是作散点图的,叫做scatter,第四种是作饼状图的。我们查看图像,这个结果和我们的预期基本吻合。点状图第三种图像叫做散点图,它反应的是每个点的分布情况。而且3维的数据分布也不是很好观察。通过饼状图,我们可以很直观地了解到这点。

今天是数据处理专题的第9篇文章,在之前的8篇文章当中我们已经介绍完了pandas这个库的一些基本用法,我们先把一些冷门的高级用法放一放,先来给大家介绍一下另外一个很有用的数据分析库——matplotlib。

matplotlib简介

如果你在大学里参加过数学建模竞赛或者是用过MATLAB的话,想必会对这一款软件中的画图功能印象深刻。MATLAB可以做出各种函数以及数值分布图像非常的好用和方便。如果你没用过呢也没关系,知道这么回事就好了。MATLAB虽然好用,但毕竟是收费软件,而且相比于MATLAB,很多人更喜欢Python的语法。

所以呢MATLAB就被惦记上了,后来有大神仿照MATLAB当中的画图工具,也在Python当中开发了一个类似的作图工具。这也就是我们今天这篇文章要讲的matplotlib,也是Python、数据分析以及机器学习领域当中使用最广泛的作图工具包,几乎没有之一。前段时间不是美国政府搞事情,导致MATLAB公司宣布对中国的几所高校禁止使用MATLAB嘛,有一些人就提出来说我们可以使用Python当中的一些开源工具代替,当然MATLAB当中还有很多其他厉害的功能,Python可能不一定能代替,但至少在作图这个领域是没问题的。

matplotlib 基本用法

matplotlib广泛流行的一个非常主要的原因就是它方便、好用,我们来看几个经典的例子就知道了,短短几行代码就可以作出质量非常高的图。

我们使用的是matplotlib这个包下的pyplot这个库,从名字上我们也看得出来它是Python库。如果你安装了Anaconda这样完整的Python包管理工具的话,那么这个包默认应该已经装好了。如果没有,可以使用pip安装一下,命令也非常简单。

pip install matplotlib

装好了包之后,我们通常的使用惯例是将它重命名成plt,所以如果你阅读一些源码以及其他大神的代码,作图的时候经常会出现plt.xxx,就是这么来的。

import matplotlib.pyplot as plt

plot当中有几种常用的作图工具,第一种是作折线图或者是曲线图的,叫做plot。第二种是作柱状图的叫做hist,第三种是作散点图的,叫做scatter,第四种是作饼状图的。除此之外还可以作一些三维的图像,但是一般日常当中使用得比较少,大部分是用来炫技的。

曲线图

plot其实是用来作曲线图的,采用的方法是描点呈现,它会将我们的数据点串联起来,成为一条光滑的曲线。当然,作折线、直线也都是可以的,最后成图的效果完全是由我们的数据决定的。

它的使用方法很简单,在最基本的用法当中,我们只需要传入两个list,分别代表x轴和y轴的值即可。比如我们要作出一个logistic的函数图像。我们可以这样:

x = np.linspace(-10, 10, 100)y = 1 / (1np.exp(-x))plt.plot(x, y)plt.show()

在上面的代码当中我们首先使用numpy当中的linspace函数生成了一个-10到10之间的numpy数组。这个数组当中有100个点,在-10到10之间均匀分布。我们对它计算对应的logistic函数的值,也就是y = 1/1e^(-x)。这个函数我想大家都应该很熟悉了,x是一个一百个点的list,对应的y也是一个一百个点的list。也就是说一个x对应一个y构成了一个点对,代表图中的一个坐标。

我们不需要做任何转化,只需要把这两个数组传入plt当中,它会自动替我们完成坐标的映射。最后呈现的效果如下。

我们可以看到作图的效果还是不错的,除了把图像完成的绘制出来之外,还替我们在坐标轴上画上了点位,方便我们查看数据。

直方图

hist可以用来绘制直方图,这也是我们非常常见的图像。在财经领域我们经常用直方图反应一个数据的走势,在数据分析和机器学习当中我们也经常用直方图来反应某一个特征或者是值的分布。

在直方图当中我们只需要传入一个数组,就是我们要求分布的数组,另外我们需要再输入一个参数bins,表示我们希望将数据分桶的数量。然后它会绘制出每个桶中数据数量的直方图,这样我们就可以很直观地看出分布来了。

x = np.random.normal(size=200)plt.hist(x,bins=30)plt.show()

这里我们调用numpy当中以正态分布概率随机的函数,得到的结果应该是正态分布的。

我们查看图像,这个结果和我们的预期基本吻合。

点状图

第三种图像叫做散点图,它反应的是每个点的分布情况。比如我们之前在介绍KNN和Kmeans模型的时候曾经都作过散点图,一个点代表一个样本,通过散点图我们观察的也是样本和数据分布的情况。但是和直方图相比它更加得直观,我们能直接看到分布,而不是一个分布的统计结果。

但是它也有缺点,缺点就是我们只能观察二维平面当中的点的分布,毕竟超过3维的维度就没办法绘制了。而且3维的数据分布也不是很好观察。

同样散点图的绘制也很简单,我们只需要调用scatter函数传入x和y的数组即可。

x = np.random.rand(100)y = np.random.rand(100)plt.scatter(x, y)

这里我们的x和y都是随机分布,所以得到的结果是散乱没有规律的点。

饼状图

最后我们来看下饼状图,饼状图也很常用,虽然也是反映的数据分布,但是它更多是体现某一个值占的比例。通过饼状图,我们可以很直观地了解到这点。

我们可以传入一个list进入pie函数,plot会根据list当中值在总体的占比绘制饼状图。我们来看个很简单的例子:

a = np.array([0.5, 0.3, 0.2, 0.1, 0.8])plt.pie(a)

得到的结果如下:

和之前的结果相比饼状图稍稍不清晰一些,因为它虽然用不同颜色区分了不同的区域的,但是我们很难直观地看出来每一个区域分别代表什么。这个问题是可以解决的,我们可以通过传入一些参数和设定来让它展示更多的信息,让数据变得更加生动以及清晰。

今天的文章到这里就结束了,如果喜欢本文的话,请来一波素质三连,给我一点支持吧(关注、转发、点赞)。

- END -

本文始发于公众号TechFlow,求个关注

    推荐阅读
  • 6馍是什么梗(6馍是哪个梗)

    下面更多详细答案一起来看看吧!6馍是什么梗“6馍”是一个谐音梗,取自馏馍,指的是把已经熟了,但是没吃完又凉了的馒头或者馍重新放在篦子上加热的过程。现在该梗有了衍生含义,指的是在感情里开始对你很热情,而后凉了你一段时间后又重新对你热情的人。

  • 2022年江苏专转本志愿如何填报(共15000个计划江苏专转本)

    来源:交汇点新闻客户端交汇点讯日前,江苏省教育厅公布全省2020年参与“专转本”的招生院校和各专业计划数。今年“专转本”的报名和填志愿工作将于1月8日晚上截止,考试时间为3月21日。江苏省2020年“专转本”计划总量仍控制在全省高职院校毕业生的5%以内,共15000个,退役士兵计划较去年增加了100个名额。②今年专转本计划中大学生退役士兵的计划是600个,相较于2019年多出了100个计划数。并需由原专科院校初审后再由省民政部门进行复审。

  • 考国职技巧(你知道国职考试都考什么吗)

    你知道国职考试都考什么吗国职健身教练证书属于国家级证书,是由我国权威部门:国家体育总局负责培训、考核和颁发的,全称“健身教练国家职业资格证”分为四个等级:初级、中级、高级、指导师,大家在考取时需要从初级入手,逐级考取如果只是。

  • 个性网名(个性网名女生简单气质)

    淩望夜空透明人,下面我们就来说一说关于个性网名?我们一起去了解并探讨一下这个问题吧!个性网名淩望夜空透明人风吹萤火青衣沽酒醉风尘醉眼WhiteIn゜憧憬、巴黎夜的安好歌枕肩雨未停、天未晴风与蓝天一袭红衣回忆里斑驳的画面柔美的夜月i指尖盛开的繁花背对背拥抱.窗外、那朦胧的细雨朝槿温雾浮生绘毕繁华卷趴在窗边数星星i沉睡月亮最美的太阳。那岸的向日葵依然灿烂ζ有没有那么一首歌,山色风月倦孤独的风景丶窗帘卷起我的发

  • 欧拉是不是数学家 为什么欧拉不是三大数学家

    欧拉是一位数学神童.他作为数学教授,先后任教于圣彼得堡和柏林,尔后再返圣彼得堡。欧拉是有史以来最多遗产的数学家,他的全集共计75卷。欧拉实际上支配了18世纪的数学,对于当时的新发明微积分,他推导出了很多结果。在他生命的最后7年中,欧拉的双目完全失明,尽管如此,他还是以惊人的速度产出了生平一半的著作。

  • 星座运势(上升星座查询表)

    上升星座是一种不需思考即反应出的人格展现,并且有趣的是这种人格变化,只有在对你有深刻了解,或是你不觉得要防范的人面前,才会展现出来;尤其是当你自己独处,或是和自己的家人、亲近的人相处时。上升星座是出生图上“定宫”的主要起始点,因此地位也相对的格外重要。上升星座是第一宫的起始,而第一宫的主要影响就是与人格有关;另外,第一宫所影响的有天性、性情、健康、体格、外貌,以及个人的喜好。

  • 玻璃清洗小诀窍(超方便简单清洗)

    对此,要用湿布蘸细沙子擦洗玻璃窗,便可轻而易举地使石灰斑点脱落。把石膏粉或粉笔灰蘸水涂在玻璃上,干后用布擦净,可使玻璃光洁明亮。玻璃日久发黑,可用细布蘸牙膏擦拭,会光亮如新。鲜蛋壳用水洗刷后,可得一种蛋白与水的混合溶液,用它擦拭玻璃或家具,会增加光泽。窗上玻璃有陈迹或沾有油迹时,把湿布滴上少许煤油或白酒,轻轻擦拭,玻璃很快就会光洁明亮。玻璃上沾了油漆,可用绒布蘸少许食醋将它拭净。

  • 五彩柿子椒食谱的做法大全(五彩柿子椒食谱的做法有哪些)

    五彩柿子椒食谱的做法大全食谱一材料:培根200g、油适量、黑胡椒碎适量、五彩柿子椒150g。五彩柿子椒切成丝备用,培根从中间切断。煎锅放入少量的油,把培根卷的封口朝下码放在锅中,小火煎至培根变色,撒上黑胡椒碎即可。热锅加油,将豆干下锅炒至微膨胀,再将萝卜干改刀下锅同炒,炒至食材出香后,再加适量清水,再加重料酒提味。加盐、加淀粉搅拌均匀腌制10分钟。

  • 什么是微信星标朋友(微信星标朋友的解释)

    以下内容希望对你有帮助!什么是微信星标朋友微信星标朋友是微信为了方便用户标记重要好友的一个功能,星标的好友会显示在微信通信录的星标朋友列表中,用户可以更快地从这个列表中找到该分类好友。微信通讯录默认是按照音序由A至Z排列的,星标好友在可以将好友中排在最上方。

  • 天命传说魔尘怎么积累(天命传说魔尘积累攻略)

    《天命传说》中的勇者试练是类竞技场玩法,玩家需要设置自己的防守阵容保护自己的排名。即使是试炼组也有高达200000金币和200钻石的奖励。《天命传说》不仅拥有精彩有趣的PVP玩法,更有曲折离奇的精彩故事,辽阔无边际的卡德里亚大陆将带给玩家扣人心弦的剧情体验。PVP玩法虽然刺激,但玩家别忘了在PVP中玩法看似举重若轻的大神,都是在《天命传说》中脚踏实地的完成自己的命定冒险之旅才一步步变强的。天命传说》已经全平台上线!