2022暑假学习 | matplotlib介绍-1


导言

大家好,这里是pygeek社团成员本次暑假学习的第一篇推文,我们想介绍matplotlib基础知识。遵社长指令,我们将在这几天(从摸鱼中抽出时间)发布几篇对于python数据可视化方法的浅显介绍文章,也希望大家可以和我们一起学习可视化,运用可视化,便利学习中的绘图工作。好似偶见云中蹁跹的仙子,想将她的舞姿留在画板上,我们也想将变化多端的数据以简洁优雅的方式展现出来。 这一篇推文将从大家熟悉的《python编程:从入门到实践》第15章matplotlib部分开始,希望能够帮助不熟悉可视化的同学入门可视化(我是不会告诉你我们还没用过pygal的)(OS:话说书上都有了还做推文干啥)

1|安装matplotlib

matplotlib安装 也可以在pypi.org搜索matplotlib,将下载的.whl复制到项目文件夹,再用pip安装在这个文件夹,但是比较复杂

2|matplotlib网站

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 探索


文章作者: 骆子言
文章链接: /article/8/
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 PyGeek!
评论-----昵称和邮箱必填,网址选填
  目录