之前说要插播一期画图心得,所以本期就介绍一下一些常见图的画法~为了get文末gif的合成和倒放的小彩蛋,还简单学了一个关于处理图片的库”

[emmmmm,比如这样.......]

01

画图方法

下面详细介绍直方图的参数设置,其它类型的图类似.

1. Figure 和 Subplots  "二选一"

首先建立画布,设置大小颜色,画图的时候有两种方法,一种是通过添加子图的方法(可以画一幅或多幅画),一种没有运用子图(画布中只有一幅图).

没有用到子图的方法:

画柱状图就是一个函数(plt.bar),其实,线图是(plt.plot),散点图是(plt.scatter),箱线图是(plt.boxplot)....

下面是用到子图的方法:

可以看出,添加子图之后,不过是将画图对象变成了某个特定的子图,方法还是一致的(在一些参数设置上有稍微不同),当然如果你不设置subplots(2,2),而是设置成(1,1)或者不设置参数,都只生成一个图,和第一个图的效果一样.

2.关于 Figure 和 Subplots 的 Tips

在plt.figure中设置的背景色只限于输出在屏幕上,savefig()里只有再一次设置背景色facecolor才可以在保存的图片中加入背景色,此处颜色可以和开头在plt.figure中设置的颜色不同.

plt.savefig( )必须写在plt.show( ) 的前面,否则输出是一个白板.

plt.subplots( )可以生成两个对象,一个是figure,一个是subplots,不写参数默认是1*1,所以写参数的画,一定要是两个整数.子图的索引与列表索引方法一致.

关于subplots的参数中,重要的参数是sharex,sharey,如果各个子图之间共享x和y轴,仅留下最下面和最左边的坐标.

3.其他参数设置

以建子图的方法为例,接下来对柱状图进行标签,网格线,标题等等的完善(以下所有的用法在其他图中一样适用).

在ax.bar()的参数中添加柱的宽度width,bottom指的是y轴的开始位置(在stacked-bar堆积柱状图时常用到),颜色color, 边界颜色edgecolor

修改x轴的刻度以及设置刻度标签分别使用set_xticks()和set_xticklabels(),比如上图中x轴的刻度是默认生成的,并没有列出列表a的值,可以通过set_xticks()修改.set_xticks( )就是指明将刻度线放在哪些位置上(就是设置把哪几个坐标点露出来),set_xticklabels就是在这些位置上加上标签,y轴一样的方法

设置坐标轴,例如将图中右侧和上侧的边框线去掉

添加x和y轴的标签,使用set_xlabel( )和set_ylabel( )

添加网格线grid( ),可以设置线型,颜色,沿着x轴画还是y轴画网格线

添加图例(legend( ))和标题(set_title( )),图例的参数在ax.bar( )中通过label=(“ ”)传入。

当然,你还可以更华丽一点,比如这样:(在对子图进行画图时ax.bar( ),传入的color可以是一个颜色列表)

4.关于不同类型柱状图以及遇到的问题

比如画了30条柱子,手动输入set_xticklabels比较麻烦,其实可以读取文件,将其写入一个列表,这样在设置刻度标签时只需要传入列表名称就可以了.

关于堆叠柱状图,上面提到的把bottom参数设置成为第一组数据的y值就可以了,当然更准确一点,你还可以加上误差线(就是第二组数据的y轴在第一组y轴的基础上绘制).

关于并列柱状图,只需要保证他们的x坐标刚好相差一个宽度即可.

所以在画图的时候第一组数据的x减去宽度的一半,第二组数据加上宽度的一半就可以了.

想要在图中加上文本或者对应的数值信息,可以用ax.text( )完成

[总结] 当然不同的图中会涉及到独有的参数,比如点图中设置点的形状等等,不过就是举一反三大同小异罢了~官方文档上除了常见的几类之外,还有热图,小提琴图等等的详细代码~

[reference]matplotlib.pyplot官方文档:https://matplotlib.org/index.html

02

pillow库

接下来就简单看一眼pillow库,如何对图像继续压缩、改变大小、切割一部分、换模式and改格式。

功能很很容易实现的,要是还不满意,你甚至还可以加一点滤镜(硬核P图~)引入ImageFilter即可。

最后就是关于gif动图的处理,gif 的拆分、倒放、合并~

合成图片效果(随手几张图emmmm):

倒放GIF效果图(好魔性aaaaaa):

[reference]https://pillow.readthedocs.io/en/latest/

想看生物狗如何在编程中求生存?

欢迎关注我的公众号:听见我的voices

python pillow库画图_python几种柱状图画法以及简单图片处理pillow库的学习相关推荐

  1. python更新版本会丢失库吗_Python小技巧:如何批量更新已安装的库?

    点击蓝色"Python空间"关注我丫 加个"星标",每天一起快乐的学习 众所周知,升级某个库(假设为 xxx),可以用pip install --upgrade ...

  2. python视频换脸例子_python视频换脸例子_超简单使用Python换脸实例

    换脸! 这段时间,deepfakes搞得火热,比方说把<射雕英雄传>里的朱茵换成了杨幂,看下面的图!毫无违和感! 其实早在之前,基于AI换脸的技术就得到了应用,比方说<速度与激情7& ...

  3. python 在线编程 实现_Python从0到1:让你达到独自实现深度学习项目的水准

    SIGAI 4P计划 欢迎你申请SIGAI Pick Pearl Python Plan,简称"4P计划",我们的目标是在100天内,向1000名合格申请者[免费]提供SIGAI& ...

  4. python画五角星代码_Python GUI 编程tkinter--画五角星和简单的动画制作

    1.利用Python的tkinter画一个五角星: 2.做一个简单的动画 分析五角心的五个顶点的坐标: 确立五角星的中心点和半径,再确立五角星的五个角的坐标信息,其中五角星的各个角读书为36度,具体的 ...

  5. python timer怎么用_python定时器(Timer)用法简单实例

    python定时器(Timer)用法简单实例 本文实例讲述了python定时器(Timer)用法.分享给大家供大家参考.具体如下: # encoding: UTF-8 import threading ...

  6. python pandas库 画图_python绘图:matplotlib和pandas的应用

    python绘图:matplotlib和pandas的应用 在进行数据分析时,绘图是必不可少的模式探索方式.用Python进行数据分析时,matplotlib和pandas是最常用到的两个库. 1.m ...

  7. python logging打印终端_python中那些小众但有用的自带标准库

    ====== 欢迎关注我的公众号:早起python 一起学python ======= 今天带来的是python里一些小众但是却比较实用的标准库,一起来看看吧! pprint:更清晰的打印 pprin ...

  8. python读取mat数据_Python几种读取mat格式数据的方法,python几种读取mat

    Python几种读取mat格式数据的方法,python几种读取mat matlab中使用的数据一般会以mat的格式存储,用python读取有以下几种方法 1.使用scipy,具体实现如下: impor ...

  9. python有框架吗_Python几种主流框架

    以下是从GitHub中整理出的14个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python Web应用开发框架 Dj ...

最新文章

  1. matlab 向量模量,有限元分析简单实例之平面矩形薄板(matlab)
  2. 【Linux入门到精通系列讲解】.bashrc 文件作用
  3. 分子生物学-氨基酸电中性与肽键
  4. 岗位内推 | 微软亚洲互联网工程院自然语言处理组招聘NLP工程师
  5. 线段树教做人系列(3) HDU 4913
  6. 云原生架构下日志服务数据预处理
  7. List中toArray()的使用方法
  8. 技术动态 | 知识可视化,连接和探究知识之间的联系!
  9. javascript Dom总结
  10. OpenShift 4 - 通过 REST API 操作 OpenShift
  11. [POI2006]OKR-Periods of Words(KMP)
  12. 第一道西西里----关于两数的最大公约数
  13. css font html里写,HTML,CSS,font
  14. Ubuntu18.04安装OBS Studio
  15. 华为openGauss初级OGCA认证100%通过
  16. 三维实景应用制作工具有哪些?
  17. Python分析【标题党】文章
  18. 三个数相减的平方公式_小学一年级数学难点解析,附34个必考公式,孩子必备!...
  19. 《龙虎门》--动作电影新希望
  20. Midas GTS NX 模型转为(导入、转换) FLAC3D5.0的模型 c++源码 (midas to flac3d)

热门文章

  1. k8s:概念以及搭建高可用集群
  2. Python中的装饰器是什么?装饰器是如何工作的?
  3. 怎样用机器人助手管理微信社群?
  4. CCPC-Wannafly Winter Camp Day1 (Div2, onsite) J 夺宝奇兵 暴力 贪心
  5. 电子电气架构——车辆E/E架构常识
  6. 电动车禁入电梯_楚纳_阻止电动车进入装置系统
  7. 愿你在自己的世界里烨烨生辉
  8. 今日头条、广点通、快手最火的平台联调作弊码有哪些?
  9. Symbol、Map、Set
  10. 第一场桥牌双人赛记录,并总结部分约定叫品