全文共3003字,预计学习时长6分钟

Netflix、Instagram、YouTube、电影还有电视剧,这些都有什么共同之处呢?它们都是视觉媒介,吸引着形形色色的观众。

今时今日,大部分人逐渐放弃读书、听书的方式,而选择观看电影、电视剧去了解一个故事。也许有人持不同意见,认为人们还未曾放弃书籍,但认清这现实吧——喜爱看电影的人要比爱读书的人多得多。

以上讨论了视觉成为当下重要沟通形式的原因。同时这也说明了数据可视化在数据科学等众多领域中的重要性。那Python程序员们又如何展示所收集的宝贵数据呢?所幸,有一个非常有用的数据可视化工具,它就是……

什么是Matplotlib?

Matplotlib是编程语言Python中最流行也最实用的一种绘图库,其受众不仅仅有杰出的数据科学家,还包括刚入门想学绘图的编程新手。Matplotlib可以绘制各种各样的图形和图像:

· 散点图

· 折线图

· 3D图

· 柱状图

· 等等

用户在Matplotlib上可以自定义各种图形,使用喜爱的颜色,尽情发挥想象力!

也许有人问,“它是怎么产生的呢?”——一位叫约翰 D·亨特(John D. Hunter)的人在2003年创造了这个库。MATLAB是当时另一款流行的数据分析与数据可视化软件,亨特本身是MATLAB的独家用户,后来受其启发,为Python创建了类似的绘图库。

可惜约翰·亨特在2012年去世了。如今迈克尔·多洛特布(Michael Droettboom)等许多人一起参与此绘图库的维护工作。由于它本身是一个开源库,因此下文也不再对其历史过多赘述,感兴趣的读者可以前往以下网站了解哦。

时至今日,Matplotlib依然是数据可视化和数据分析工具中最方便且最出名的工具之一,其中原因就在于其免费且开源。

任何人都可以下载Python和Matplotlib,然后开始绘制自己的专属图像。那么赶紧开始行动吧,一边阅读下文一边使用此绘图库,这个过程必定十分有趣。下面请欣赏Matplotlib的可视化能力吧。

使用Matplotlib打造emoji

也许有人用过它们,有人喜爱它们,甚至还有人讨厌它们,但接下来我们要做的就是用Matplotlib创建最新的交流方式——emoji!

你可不要轻易觉得好笑,先想想这些表情如今有多流行,又有多少人成为它们的忠实粉丝。甚至还有一部emoji大电影。

从这一点来看,无论是Python程序员也好,非程序员也好,用Matplotlib来重新打造一款emoji一定很有意思。事不宜迟,一起试试吧:

即使还未安装Matplotlib,没有关系,继续阅读吧。在正式开始前,需感谢上图笑脸已给出其代码,可以从以下网站获取:https://gist.github.com/bbengfort/dd9d8027a37f3a96c44323a8303520f0

接下来就可以根据自己的喜好改变这张图像啦。

Emoji打造指引

首先键入numpy,这个代码后可以添加必要的数学函数,记得在matplotlib后面补充.pyplot,这一代码可以继续填写用于绘图的函数。

先输入两个变量(fig, ax)。fig值可通过plt.figure()以及参数 figsize=(8,8) 得出,同时figsize=(8,8)表示了图表的大小。而ax可通过fig.add_suplot()以及表示图像大小的参数得出。最后输入plt.show()和plt.grid(),前者表示演示该图像,后者表示显示网格线。

下方的空白画布将用于绘制新的emoji。首先确定脸型,然后再画上眼睛和嘴巴。

要创建脸部,可使用代码ax.scatter()构建散点图,但只需在画布上绘制一个点。通过scatter()函数,得出以下参数

· [.5],[.5]; 表示点坐标

· 键入c = yellow以及edgecolor = gold,这两个代码分别表示脸部和边界的颜色。

· linewidth;对应边框厚度。

· s;代表整张图像的面积

好了,完成了一个“太阳”一样的形状后,就开始绘制眼睛咯。

接下来继续在原来基础上添加用以绘制眼睛的ax.scatter()函数。这时需调整坐标为 [.37],[.60],当然你也可以根据个人意愿进行调整。继续输入c=darkgoldenrod,无需输入边界颜色。眼睛的面积为1700。

加上一只眼睛后,图像变得有点像柠檬。但柠檬并不是最终目的,下面继续给它填上 “笑容”。

不过现在就不使用 ax.scatter(),而是要键入一些更复杂的函数(放心啦,也没有那么复杂)。首先确定两个新的变量 X 和 Y,然后使用 ax.plot()绘制它们的位置。

最后使用numpy,导入代码np.linspace()以及三个参数,得出X = np.linspace(.37, .63, 100)。前两个参数表示x轴的起点与终点,而第三个参数则代表这个“笑容”上点的数目(在这张图上共有100个点)。

在方程式 Y = 4 * (X-.5)**2 + 0.3中,可以对其四个数字进行修改。第一个数字(4)表示“笑容”弯曲的角度,如果把这个数字改成负数,最后就会得到“苦瓜脸”。第二个数字(.5)则稍稍改变了“笑容”的角度。第三个数字(2,即指数)改变了这条线的弧度,而最后一个数字(0.3)则负责确定“笑容”在y轴上的位置。

最后导入代码 ax.plot(X, Y, c=’darkgoldenrod’, linewidth=20),在(X, Y)变量后紧接颜色参数(c),而这里的颜色与眼睛颜色一致,“笑容”线条粗细值为20。

现在的笑脸只有一只眼睛,有点像海盗或者独眼侠,离一个完整的emoji还差得远呢,继续写代码吧。

在画布上画出眉毛和眨着的眼睛,重复之前的步骤画出三条线。为了方便,请直接复制下方代码。

如图所示,新图案的代码与之前“笑容”的代码一样,只是变量稍作改变,变量的名字也有点不一样。目前使用的变量值是最合适的,但其他数值也可以接受~

搞定!终于创造出属于自己的emoji了。但网格线和轴怎么办?别担心,接下来的几行代码就可以消除它们了。

使用函数ax.spines.set_visible()删掉网格线——在 ax.spines 后面的方括号中填入网格线对应的方向,然后在set_visible() 的括号中填入False。随后再导入代码 ax.set_xticks()和ax.set_yticks(),在括号内填上一个没有内容的方括号,这两个代码可以消除x和y轴上的数字。

太棒了,终于完成了一个眨眼emoji了!也许操作起来还是有点难度,但是使用Matplotlib的过程还是挺有趣的。快向小伙伴们秀一秀这用代码创造的emoji吧!

最后总结

相信大家已对Matplotlib的使用方法有了更好的了解,但它的功能并不仅局限于此,还有3D绘图等许多方面没有涉猎。

如果你想深入研究Matplotlib,或者想创建更多emoji,你也可以自行研究,说不定就可以用Matplotlib创建一个全新的3D emoji!

留言 点赞 关注

我们一起分享AI学习与发展的干货

如需转载,请后台留言,遵守转载规范

python画笑脸表情_用Matplotlib,妈妈再也不担心我没有表情包斗图了相关推荐

  1. python画资本市场线_使用matplotlib轻松绘制股票K线图

    K线图是看懂股票走势的最基本知识,K线分为阴线和阳线,阴线和阳线都包含了最低价.开盘价.最高价和收盘价,一般都K线如下图所示: 度娘说:K线图源于日本德川幕府时代(1603-1867年),被当时日本米 ...

  2. 用Matplotlib,妈妈再也不担心我没有表情包斗图了

    全文共3003字,预计学习时长6分钟 Netflix.Instagram.YouTube.电影还有电视剧,这些都有什么共同之处呢?它们都是视觉媒介,吸引着形形色色的观众. 今时今日,大部分人逐渐放弃读 ...

  3. 如何用python画数学图案_使用Matplotlib 绘制精美的数学图形例子

    一个最最简单的例子: 绘制一个从 0 到 360 度完整的 SIN 函数图形 import numpy as np import matplotlib.pyplot as pt x = np.aran ...

  4. python 画k线_使用matplotlib绘制k线图

    利用matplotlib.finance绘制K线图时使用关键要点 绘制k线图的核心语句是: import matplotlib.finance as mpf mpf.candlestick_ochl( ...

  5. python制作【法律条文查询工具】妈妈再也不担心我法盲了

    前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 更多教程源码资料电子书: 点击此处跳转文末名片获取 环境准备8 Python 3.8 Pycharm <中华人民共和国刑法> 效果展示 打算做 ...

  6. python微信红包代码_有了这个再也不担心任何微信红包,Python就是好用

    为了应对领导在群里时不时的一个红包,写一个抢红包的应用迫在眉睫了.之前由于没有自动抢红包错失了100RMB+的红包啊! 先来整理下思路.要实现抢红包,那么就要在红包来的时候去打开微信,执行点击的动作. ...

  7. python随机画笑脸_如何用python画笑脸

    如何用python画笑脸?首先我们要先下载安装好python程序,然后再下载安装turtle包.把一切准备工作做完才能开始我们接下来的绘画工作. 1.在我们自己的电脑上找到python 的IDLE工具 ...

  8. python中turtle画笑脸_如何用python画笑脸

    如何用python画笑脸?首先我们要先下载安装好python程序,然后再下载安装turtle包.把一切准备工作做完才能开始我们接下来的绘画工作. 1.在我们自己的电脑上找到python 的IDLE工具 ...

  9. 做一个python的旅游系统_有了它,妈妈再也不担心我感冒了,Python使用迭代器进行天气预报...

    上一篇博文我们使用Python制作了一个简单的天气预报小程序(天气渐冷,Python小工具让你随时掌握气温变化,做温暖的穿衣达人).今天,需求有变,如果我们想去旅游,备选方案有北京.上海.广州.新疆等 ...

最新文章

  1. Python OpenCV GrabCut进行前景分割和提取
  2. linux下安装hadoop
  3. 论推荐系统与精细化运营
  4. 彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践
  5. 探讨DHCP之一:了解DHCP
  6. matlab中多少角度,MATLAB 计算图像旋转角度
  7. 有关于mysql自增型需要返回id_关于mysql自增id,你需要知道的
  8. SQLServer之删除视图
  9. python input函数详解_对Python3中的input函数详解
  10. 款装机热门电源横向评测
  11. HDU1686:Oulipo
  12. 墨卡托与经纬度转换工具
  13. 计算机病毒入侵计算机症状,win7系统电脑被病毒入侵之后有哪些症状和解决方法...
  14. [TravelNotes] CTSC 2017 APIO 2017 THUPC 2017 游记
  15. 对称加密与非对称加密,以及RSA的原理
  16. ens天空盒_这句话的意思
  17. 天津2019全国计算机二级,2019年上半年全国计算机等级考试报名啦
  18. android原生相机apk,原生模式相机APP
  19. 通过JS代码简单实现九九乘法表
  20. javaScript(正则,DOM)

热门文章

  1. sklearn基础(一)文本特征提取函数CountVectorizer()和TfidfVectorizer()
  2. SQL SEVER登录失败,无法连接服务器或已成功与服务器建立连接,但是在登录过程中发生错误。(Win10版本,SQL 2019)
  3. 谈笑间学会数仓—主题域数据域
  4. 词嵌入(word embedding)(pytorch)
  5. 用苹果电脑开发Android应用,MAC OS Android Studio环境安装
  6. 340页11万字智慧政务大数据资源平台大数据底座数据治理建设方案
  7. 每天听的一首歌---奔跑
  8. 【日记本砸】21.01.08-12 最快的成长方式就是慢慢来
  9. Android java.lang.IllegalStateException: Underflow in restore - more restores than saves
  10. 旅游企业该怎么进行网络品牌推广呢?如何宣传和规划旅游商品?