导言
大家好,这里是pygeek社团成员本次暑假学习的第一篇推文,我们想介绍matplotlib基础知识。遵社长指令,我们将在这几天(从摸鱼中抽出时间)发布几篇对于python数据可视化方法的浅显介绍文章,也希望大家可以和我们一起学习可视化,运用可视化,便利学习中的绘图工作。好似偶见云中蹁跹的仙子,想将她的舞姿留在画板上,我们也想将变化多端的数据以简洁优雅的方式展现出来。
这一篇推文将从大家熟悉的《python编程:从入门到实践》第15章matplotlib部分开始,希望能够帮助不熟悉可视化的同学入门可视化(我是不会告诉你我们还没用过pygal的)(OS:话说书上都有了还做推文干啥)
1|安装matplotlib
也可以在pypi.org搜索matplotlib,将下载的.whl复制到项目文件夹,再用pip安装在这个文件夹,但是比较复杂
2|matplotlib网站
点击reference就可以查看详细介绍啦 比如有这样的一个例子,大家可以先猜猜会画成一个什么图形,画法和海龟画图有点像
import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches
verts = [
(0., 0.), # left, bottom
(0., 1.), # left, top
(1., 1.), # right, top
(1., 0.), # right, bottom
(0., 0.), #ignored
]
codes = [
Path.MOVETO,
Path.LINETO,
Path.LINETO,
Path.LINETO,
Path.CLOSEPOLY,
]
path = Path(verts, codes)
fig, ax = plt.subplots()
patch = patches.PathPatch(path, facecolor='orange', lw=2)
ax.add_patch(patch)
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)
plt.show()
于是有一个橘色的正方形,大家可以自己运行查看,并试着修改代码 代码中,verts列表后面的五个元素就是正方形的四个端点加一个最终点,codes后的MOVETO就像海龟画图的goto(x,y),LINETO就像放下画笔之后的fd(x,y)。此后的set_xlim等则好像是建立画布大小的方法,上面还定义了颜色,边廓宽度等。 到这里可能大家会有一个疑问,既然这样为什么不用更好学的海龟呢? 原因是matplotlib可以方便以后把数据展示到图表上,例如绘制散点图,可以用scatter(),也可以直接画
直接画
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5],[35,20,2,19,100],'ro')
plt.axis([0,5,0,100])
plt.title("示意",fontsize = 20,color = 'orange')
plt.tick_params(axis = 'both',which = 'major',labelsize = 10)
plt.show()
scatter()
import matplotlib.pyplot as plt
x_values = [1,2,3,4,5]
y_values = [35,20,2,19,100]
plt.scatter(x_values,y_values,s=100)
plt.title("示意图",fontsize = 20,color = 'orange')
plt.tick_params(axis = 'both',which = 'major',labelsize = 10)
plt.show()
今天的入门介绍就到这里啦,我们下期继续 如果有兴趣的话,可以先行到https://matplotlib.org/stable/tutorials/introductory/index.html 探索