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

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,求个关注

    推荐阅读
  • 婴儿剃眉毛一个月没长出来(满月当天家长将宝宝眉毛剃掉)

    刚满月的睿睿,在他准备满月的这段时间,爸爸妈妈爷爷奶奶,都在迎接孩子的满月仪式。睿睿自从出生之后,头发和眉毛都比较稀疏,对比起其他孩子,爸爸妈妈觉得自己儿子的毛发实在太少了,对此感到非常头疼。爸爸妈妈在孩子满月当天,除了给孩子剃了胎毛,他们为了能够让孩子能拥有浓密的眉毛,所以决定再将孩子的眉毛给剃掉。原本眉毛就不浓密的睿睿,被家长剃光了眉毛之后,样子看上去特别别扭。

  • 波兰促进欧盟内部猪肉贸易 波兰加入欧盟后经济

    由于不同国家之间的数据不一致,导致没有明确的变幻趋势。不管如何,去年欧盟国家之间交换的猪肉大约有550万吨,接近欧盟猪肉生产总量的四分之一。七大出口国的发货量占总量的90%。德国在销售上依然轻盈率先其他成员国,它同时也是欧盟第二大猪肉进口国,这稳定寥玟在欧盟猪肉市场的中央位置。去年欧盟内部贸易最突出的国家是波兰。波兰进口额增长9%,出口到其他成员国的猪肉数量增长18%,在出口排行榜上超过法国。

  • 曼哈顿爱情故事剧情(曼哈顿爱情故事剧情是什么)

    曼哈顿爱情故事剧情这是一个发生在咖啡馆里的故事。曼哈顿咖啡馆位于电视台附近,店里来客许多是从事与电视台有关的工作;有肥皂剧的女编剧,有兼舞蹈指导的舞者,有靠著可爱外表却有著怪腔怪调的年轻主播,有配音员,有肥皂剧男主角,有出租车女司机,还有像男又像女的店员,当然,最重要的还有从头到尾全靠表情演戏的店长。曼哈顿咖啡馆的店长,用心的为客人调制每一杯咖啡。

  • 水墨画怎么画(溪边风景水墨画教程)

    接下来我们就一起去研究一下吧!水墨画怎么画先画出一簇草丛与两颗大石头,画出溪水边线轮廓后,将另一侧的草丛与石头画出来,给两簇草丛的轮廓描上浅绿色的边后,再给它用深一些的绿色涂上,将石头涂上灰色,溪水涂蓝,并画出白色的波光线条,美丽的溪边风景水墨画就画好啦!

  • 恋综翻车的嘉宾有哪些(没谈过恋爱的我们光速翻车)

    不会错过任何一档恋综的橘又来啦!还有前任本人也来爆料▼和自己暧昧的同时又和其他女生谈。爆料真假目前不知,但毛人龙本人还没有任何回应。有甜美、可爱的大厂女孩,27岁的蔡睿,除了运营这份本职工作,她私下还是一位写了11年小说的网文写者。一定要从这节目里找个安全的男生,也就罗郅阳目前没被爆黑历史。而且小蔡也对小罗有意思,挂风铃表示心意时选了他。

  • 世界最著名的十大旅游城市有哪些(世界最著名的十大旅游城市介绍)

    阿诺河横贯市内,两岸跨有7座桥梁。市区跨台伯河两岸,架有桥梁24座。全国政治、经济、文化和交通中心。纽约市还是众多世界级博物馆、画廊和演艺比赛场地的所在地,使其成为西半球的文化及娱乐中心之一。气候冬暖夏凉,阳光充足,被誉为“最受美国人欢迎的城市”。城市背山面海,风光绮丽,文物众多,旅游业兴盛,工商业发达。

  • 喝什么粥对身体好 晚上喝什么粥对身体好

    新鲜肋排直接放在流动水中浸泡,或者在水中浸泡冲洗三次备用。放入山药和红枣。功效山药健脾,栗子补肾,两者煮粥,可取健脾补肾、和胃理肠之效,既治腰痛,又止腹泻。红枣花生粥原料:红枣10枚,花生45克,山药1段,大米100克。做法:1、山药洗净去皮切块,花生、红枣洗净。功效红枣具有补气血、健睥胃的作用;花生连红衣一起食用不仅健脾和胃、滋养调气,还可以补血;山药补脾养胃、补中益气。

  • 吊兰秋冬怎么养才能更旺盛(吊兰秋冬如何养才能更旺盛)

    吊兰虽然对各种土壤都有着很强的适应能力,但是想要吊兰生长的更加旺盛,最好能够选择疏松透气的土壤。浇水适量吊兰喜欢比较潮湿的环境,最好能够一直保持盆土湿润,但需要注意的是千万不能浇水太多,否者可能会让吊兰的根部腐烂的。室内的吊兰最好放在阳光散射充足的地方,这样才能够生长的更旺盛。换盆修根一般来说,每过一两年就需要给吊兰盆栽换一次盆土,新土的营养对植株来说是非常重要的。

  • 朋友秀恩爱的祝福语(祝福人家秀恩爱的句子)

    朋友秀恩爱的祝福语愿你们的爱情生活,如同无花果树的果子渐渐成熟;又如葡萄树开花放香,作基督馨香的见证,与诸天穹苍一同地每日每夜述说着神的作为与荣耀!愿你们的爱情,比美洒更美;比膏油更加馨香;比蜂房下滴的蜜更甜;且比极贵的珍宝更加宝贵!敬祝百年好合永结同心。深爱一个人会醉;恨一个人会碎;最痛苦的是等待,不知道你会等我多久,可我知道我会等你一生一世。

  • 母亲河作文(关于母亲河的诗)

    母亲河作文母亲河作文:我们的灵溪有一条母亲河——横阳支江,全长六十多公里,是浙江省八大系之一鳌江的最长支流。江面上会举行划龙舟比赛。关于“母亲河”的诗:⑴唐代王之涣的《登鹳雀楼》白日依山尽,黄河入海流。⑵唐代王之涣的《凉州词》黄河远上白云间,一片孤城万仞山。⑶唐代杜甫的《黄河二首》黄河北岸海西军,椎鼓鸣钟天下闻。⑸宋代王安石的《黄河》派出昆仑五色流,一支黄浊贯中州。