figure :n. 数字,数目,数值;数字符号,位数;身材,体型;(远处的)人影;(重要的)人物;(绘画或模型中)人像;(书中的)图、表;(数学)图形;价格,金额

plot :n. 阴谋,密谋;情节;(专用的)小块地;(表现两个变量关系的)图表;<美>图表,地图;<美>底层平面图

所以,fig=plt.figure(num=1,figsize=(6,4)) 是创建一个图形底板;

ax=fig.add_subplot() 是在图形上创建一个区域;

可以在图形上直接画图

import matplotlib.pyplot as pltplt.figure(num=1,figsize=(4,4))
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.show()

plt.plot(x, y, format_string, **kwargs)

参数 说明
x X轴数据,列表或数组,可选
y Y轴数据,列表或数组
format_string 控制曲线的格式字符串,可选
**kwargs 第二组或更多(x,y,format_string),可画多条曲线

format_string 由颜色字符、风格字符、标记字符组成

  1. 颜色字符

    1. 'b' 蓝色 'm' 洋红色 magenta
    2. 'g' 绿色 'y' 黄色
    3. 'r' 红色 'k' 黑色
    4. 'w' 白色 'c' 青绿色 cyan
    5. '#008000' RGB某颜色 '0.8' 灰度值字符串
    6. 多条曲线不指定颜色时,会自动选择不同颜色
  2. 风格字符
    1. '‐' 实线
    2. '‐‐' 破折线
    3. '‐.' 点划线
    4. ':' 虚线
    5. '' ' ' 无线条
  3. 标记字符
    1. '.' 点标记
    2. ',' 像素标记(极小点)
    3. 'o' 实心圈标记
    4. 'v' 倒三角标记
    5. '^' 上三角标记
    6. '>' 右三角标记
    7. '<' 左三角标记...等等

也可以在图形的小区域上画图

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(4, 4))
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
ax = fig.add_subplot()
ax.plot(x, y)
plt.show()

想要划分多个小区域,可以使用 ax = fig.add_subplot(325) # 劃分3行2列區域,取第5個

add_subplot(xyz)第一个数字x代表行数,第二个数字y代表列数,第三个数字z表示取第z个小区域(先取第一行,从左到右)。

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(9, 9))
ax1 = fig.add_subplot(221)  # 劃分2行2列區域,取第1個
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax2 = fig.add_subplot(233)  # 劃分2行3列區域,取第3個
ax2.plot([1, 2, 3, 4], [2, 2, 3, 4])
ax3 = fig.add_subplot(325)  # 劃分3行2列區域,取第5個
ax3.plot([1, 2, 3, 4], [1, 2, 2, 4])
ax4 = fig.add_subplot(224)  # 劃分2行2列區域,取第4個
ax4.plot([1, 2, 3, 4], [1, 2, 3, 3])
plt.show()

很显然,上边那种方式划分11行9列就做不到。

将参数间省略的逗号加上去就可以了。

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(9, 9))
ax1 = fig.add_subplot(11, 9, 1)  # 劃分11行9列區域,取第1個
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax2 = fig.add_subplot(2, 3, 3)  # 劃分2行3列區域,取第3個
ax2.plot([1, 2, 3, 4], [2, 2, 3, 4])
ax3 = fig.add_subplot(3, 2, 5)  # 劃分3行2列區域,取第5個
ax3.plot([1, 2, 3, 4], [1, 2, 2, 4])
ax4 = fig.add_subplot(2, 2, 4)  # 劃分2行2列區域,取第4個
ax4.plot([1, 2, 3, 4], [1, 2, 3, 3])
plt.show()

另外一种划分区域的方法,相当于先做一个网格,然后进行跨行跨列合并。

import matplotlib.pyplot as plt
from matplotlib import gridspecfig = plt.figure(num=1, figsize=(6, 6))  # 创建画布
gs = gridspec.GridSpec(3, 3)  # 设定3*3的网格,使用下标时从0开始
ax1 = fig.add_subplot(gs[0, :])  # 第1行,所有列
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax2 = fig.add_subplot(gs[1, :-1])  # 第2行,倒数第一列之前的所有列
ax2.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax3 = fig.add_subplot(gs[1:, -1])  # 第2行之后的所有行,倒数第一列
ax3.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax4 = fig.add_subplot(gs[2, 0])  # 第3行,第1列
ax4.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax5 = fig.add_subplot(gs[2, 1])  # 第3行,第2列
ax5.plot([1, 2, 3, 4], [1, 2, 3, 4])
plt.show()

注意, 子区域可能会相互重合,并且后创建的子区域会覆盖在先创建的子区域上面。

下边我们手动限制刻度范围,set_xlim()、set_ylim()

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(6, 6))
ax1 = fig.add_subplot(1, 1, 1)
ax1.set_title('exp')  # 添加标题
ax1.set_xlim(1, 7.1)  # x轴限制坐标从1到7.1
ax1.set_ylim(-10, 10)  # y轴限制坐标从-10到10
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
plt.show()

上边我们都是自动生成的刻度,现在我们手动设置刻度,set_xticks()、set_yticks()

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(6, 6))
ax1 = fig.add_subplot(1, 1, 1)
ax1.set_title('exp')  # 添加标题
ax1.set_xticks([1, 1.5, 3, 4, 5, 6, 8, 10])  # x轴刻度
ax1.set_yticks([5, 10, 20, 30, 40])  # y轴刻度
ax1.set_xlim(1, 7.1)  # x轴限制坐标从1到7.1
ax1.set_ylim(-10, 10)  # y轴限制坐标从-10到10
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
plt.show()

后设置的坐标范围,会限制刻度的显示,如果先设置坐标范围,再设置刻度,情况会不一样

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(6, 6))
ax1 = fig.add_subplot(1, 1, 1)
ax1.set_title('exp')  # 添加标题
ax1.set_xlim(1, 7.1)  # x轴限制坐标从1到7.1
ax1.set_ylim(-10, 10)  # y轴限制坐标从0到100
ax1.set_xticks([1, 1.5, 3, 4, 5, 6, 8, 10])  # x轴刻度
ax1.set_yticks([5, 10, 20, 30, 40])  # y轴刻度
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
plt.show()

set_xticklabels()可以将X轴对应数值变成label,对应Y轴方法为set_yticklabels()

注意,如果不设置set_xticks()只设置set_xticklabels(),则X轴会自动平均设置刻度,并将相应的label附上

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(6, 6))
ax1 = fig.add_subplot(1, 1, 1)
ax1.set_title('exp')  # 添加标题
ax1.set_xlim(1, 7.1)  # x轴限制坐标从1到7.1
ax1.set_ylim(-10, 10)  # y轴限制坐标从0到100
ax1.set_xticks([1, 1.5, 3, 4, 5, 6, 8, 10])  # x轴刻度
ax1.set_yticks([5, 10, 20, 30, 40])  # y轴刻度
ax1.set_xticklabels(['one', 'two', 'four', 'six', 'eight', 'ten', 'x', 'xx'])
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
plt.show()

使用 ax2 = ax1.twinx() 创建右侧Y轴对应的图形,同样,有 ax1.twiny()方法

import matplotlib.pyplot as pltfig = plt.figure(num=1, figsize=(6, 6))
ax1 = fig.add_subplot(1, 1, 1)
ax1.set_title('exp')  # 添加标题
ax1.set_xlim(1, 7.1)  # x轴限制坐标从1到7.1
ax1.set_ylim(-10, 10)  # y轴限制坐标从0到100
ax1.set_xticks([1, 1.5, 3, 4, 5, 6, 8, 10])  # x轴刻度
ax1.set_yticks([5, 10, 20, 30, 40])  # y轴刻度
ax1.set_xticklabels(['one', 'two', 'four', 'six', 'eight', 'ten', 'x', 'xx'])
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax1.set_ylabel('line1')ax2 = ax1.twinx()
ax2.plot([1, 3, 5, 8], [3, 7, 3, 5])
ax2.set_ylabel('line2')
plt.show()

python画图入门例子相关推荐

  1. python画图入门

    python画图入门 基本画图 画图参数 线条形状 点形状 颜色 RC参数类型 plot内设置 plot内简化设置 时隔很久,我又掏出了我的笔,python小白,一点点来.Punchline~ 基本画 ...

  2. Python爬虫入门例子-运满满的货运信息

    爬虫 周末没事想试一下Python的爬虫,跟着网上试了一个爬虎扑的 原文虎扑爬虫 然后试了一下一个货运信息网站,运满满,还专门安装了pycharm,大点的编译器,用来做项目.毕竟刚学Python,所以 ...

  3. python画图颜色表示大小变化_python画图(线条颜色、大小、类型:点、虚线等)(图文详细入门教程四)...

    初衷 本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的教程,应急就必须方 ...

  4. python画图marker显示_python画图(标记、marker、设置标记大小、marker符号大全)(图文详细入门教程五)...

    初衷 本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的教程,应急就必须方 ...

  5. python画图(标记、marker、设置标记大小、marker符号大全)(图文详细入门教程五)

    初衷 本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的教程,应急就必须方 ...

  6. python画图(标记、marker、设置标记大小、marker符号大全)

    初衷 本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的教程,应急就必须方 ...

  7. python从入门到大师_Python趣味打怪:60秒学会一个例子,147段简单代码助你从入门到大师 | 中文资源...

    人生苦短,编程苦手,不妨学起Python,感受一飞冲天的快乐. 不要害怕学习的过程枯燥无味,这里有程序员jackzhenguo打造的一份中文Python"糖果包":147个代码小样 ...

  8. python画图零基础入门教程_Python画图学习入门教程

    本文实例讲述了Python画图的基本方法.分享给大家供大家参考,具体如下: Python:使用matplotlib绘制图表 python绘制图表的方法,有个强大的类库matplotlib,可以制作出高 ...

  9. Python爬虫入门学习例子之煎蛋网(福利哦)

    初学Python爬虫,学习资料是这篇博客:Python爬虫入门教程 经过前边两个例子(糗事百科爬虫和百度贴吧爬虫)的学习,我自己写了一个练习的例子:爬煎蛋网的妹子图,福利哦(*^__^*) #煎蛋网爬 ...

最新文章

  1. 【leetcode】Remove Linked List Elements(easy)
  2. 程序员十大非技术面试问题及策略
  3. 基础知识(十五)Cmake
  4. 移动设备的界面设计尺寸
  5. 安卓应用安全指南 5.6.3 密码学 高级话题
  6. WindowsServers2019上手体验
  7. AppWeb服务后台登陆及配置的方法解答
  8. MySQL取每组的前N条记录
  9. 【专利】实用新型专利设计模板
  10. 借助Bodymovin播放svg动画
  11. 2021陈文灯数学复习指南百度云_【干货分享】21考研数学:高等数学常用公式、定理汇总(含打印版)...
  12. tbopen链接生成工具_影视、航空行业都在用的短链接工具,免费短链接生成器?...
  13. 单片机最小系统着实让人着迷
  14. 论文阅读-2022.1.2-A Neural Network Approach for_2016_一种用于知识驱动响应生成的神经网络方法
  15. android开发艺术探索3:IPC--AIDL(跨进程)的使用
  16. 我有酒,你有故事吗?
  17. 松鼠分松果解题 c++
  18. 托福百日冲刺(五一记忆)(1)
  19. 3d游戏场景建模设计师需要学哪些软件?
  20. 如何在浏览器中运行Linux程序,如何在Chromebook的浏览器标签中运行完整的Linux桌面 | MOS86...

热门文章

  1. mac终端使用代理网络
  2. Gradle下载安装与和eclipse(STS)集成
  3. 12月最新仿知音漫画网站源码+手机端,小说漫画生成静态文件,超强负载量安全可靠
  4. python匹配ip地址
  5. 服务器WPS上的文档删除了怎么办,彻底删除文件,wps删除的文件怎么找回来
  6. Jmeter下载保存文件,使用请求中中文文件名称
  7. JDK的安装与环境变量配置详细教程
  8. Excel·VBA自动生成日记账的对方科目
  9. MySQL数据库下载及安装教程(最最新版)
  10. HTML5 Plus 移动 App开发入门