引言
Matplotlib是Python的画图领域使用最广泛的绘图库,它能让使用者很轻松地将数据图形化以及利用它可以画出许多高质量的图像,是用Python画图的必备技能。对于这个教程,大家最好亲自码一遍代码,这样可以更有收获。
概要
1、学会Matplotlib中的散点图功能;
2、学会Matplotlib中的柱状图功能;
散点图
之前的课程里,我们一直在学习如何画线图,现在我们开始介绍其他类型的图,比如:
我们从散点图开始。其实散点图就是将二维坐标点按照坐标画在一个平面上面,比如下图的效果:
要想画出上面这张图是需要花一点心思的,我们先把代码展示给大家看:
import numpy as npimport matplotlib.pyplot as plt
n = 1024X = np.random.normal(0,1,n)Y = np.random.normal(0,1,n)T = np.arctan2(Y,X) # for color value
plt.scatter(X, Y, s=75, c=T, alpha=0.5)
plt.xlim(-1.5, 1.5)plt.xticks(()) # ignore xticksplt.ylim(-1.5, 1.5)plt.yticks(()) # ignore yticksplt.show()
我们一个生成1024个点,X是横坐标,Y是纵坐标,我们用random.normal函数来生成这些随机坐标。normal的意思是正态分布,也就是我们常见的高斯分布。熟悉正态分布的同学肯定会问上面的图为什么看上去非常均匀,其实这和我们用plt.xlim函数以及plt.ylim函数规定坐标轴范围相关。还有根据点所处的角度不同来改变颜色,所以导致了非常炫酷的效果。最后的重点就是scatter函数,它负责画出散点图,其中参数c是颜色,alpha是透明度。
更多参数以及案例请参考官方文档:
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.scatter.html
柱状图
柱状图也叫条形图,是非常直观表达数据的常用图之一,因此我们需要重点关注这个图的画法。
我们先把图展示出来:
画柱状图的核心函数是bar,我们把代码展示出来:
import matplotlib.pyplot as pltimport numpy as np
n = 12X = np.arange(n)Y = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)
plt.bar(X, Y, facecolor='red', edgecolor='white')
for x,y in zip(X,Y): plt.text(x, y+0.05, '%.2f' % y, ha='center', va= 'bottom')
plt.ylim(-0,+1.25)plt.show()
第一步我们要确定X轴的数据。这里我们使用numpy函数来构造一个0到11的数列,然后用随机函数来构造Y轴的数据,之后就用bar函数来画出来柱状图。注意到我们用text函数给柱状图上的数值做了标注。
同样别忘了去官网查询更多的bar函数参数使用方法以及案例:
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.bar.html
本文分享自 Python与机器学习之路 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!