目录

  • 一、图的个数及子图设置
    • 1、基本绘图流程
    • 2、plt.add_subplot( ):绘制多个图
    • 3、plt.subplot( ):绘制多个图
    • 4、plt.subplots( ):一个步骤生成多个图(推荐使用)
  • 二、相关函数
    • 1、折线图:plot( )
    • 2、柱状图:bar()和barh()
      • (1)使用bar()函数绘制甘特图
      • (2)使用barh()函数绘制甘特图(更好理解,推荐使用)
    • 3、坐标轴相关
      • (1)、设置坐标轴范围:axis( ),xlim( ),ylim( )
      • (2)、设置坐标轴标签:xlabel( ),ylabel( )
      • (3)、设置坐标轴刻度及要显示内容:xticks(),yticks()
      • (4)、设置x轴和y轴的取值范围:axis( )
      • (5)、设置坐标轴上刻度及字体格式:tick_params()
    • 4、设置图名:title( )
    • 5、设置图例:legend( )
    • 6、添加文本:text( )

一、图的个数及子图设置

1、基本绘图流程

  1. 创建画板(图形界面) : plt.figure() 可以省略,主要用于设置显示图形的大小
  2. 画图:plt.plot(x, y)
  3. 显示出来: plt.show( )

上述流程代码演示:

import matplotlib.pyplot as pltx = [1,2,3]
y = [1,2,3]plt.figure() #设置画板大小(此行可以省略)如:plt.figure(figsize=(10,8))表示画板的长为10,宽为8plt.plot(x, y)
plt.show()

结果如图所示

2、plt.add_subplot( ):绘制多个图

import matplotlib.pyplot as pltx = [1,2,3]
y = [1,2,3]#1.创建一个画板
fig = plt.figure()#2.在画板上绘制第一个子图(add_subplot(121)函数表示1行2列第1个子图)
ax1 = fig.add_subplot(121)
ax1.plot(x,y)   #该子图是折线图#3.在画板上绘制第二个子图(add_subplot(122)函数表示1行2列第2个子图)
ax2 = fig.add_subplot(122)
ax2.scatter(x,y)    # 该子图是散点图#4.显示图像
plt.show()

3、plt.subplot( ):绘制多个图


import matplotlib.pyplot as pltx = [1,2,3]
y = [1,2,3]#2.在画板上绘制第一个子图(plt.subplot(121)函数表示1行2列第1个子图)
#可以看出此种方式省略了plt.add_subplot( )方式中创建画板的步骤
ax1 = plt.subplot(121)
ax1.plot(x,y)   #该子图是折线图#3.在画板上绘制第二个子图(add_subplot(122)函数表示1行2列第2个子图)
ax2 = plt.subplot(122)
ax2.scatter(x,y)    # 该子图是散点图#4.显示图像
plt.show()

4、plt.subplots( ):一个步骤生成多个图(推荐使用)


import matplotlib.pyplot as pltx = [1,2,3]
y = [1,2,3]#1.直接生成1行2列的两个子图,分别作为对象返回给元组中的axe1和axe2
fig,(axe1,axe2) = plt.subplots(1,2)#注意:若是只生成1个图,可以使用以下语句
# fig,axe = plt.subplots()#2.画出子图
axe1.plot(x,y)   #该子图是折线图axe2.scatter(x,y)   #该子图是散点图#3.显示图
plt.show()

二、相关函数

1、折线图:plot( )

plt.plot(x, y, color="r", linestyle="--", marker="*", linewidth=1.0)

参数:

  • x:横坐标
  • y:纵坐标
  • color:线条颜色
  • linestyle:线条风格
  • marker:坐标点样式
  • linewidth:线条宽度

相关设置如下:



上面函数显示的图形样式如下所示

2、柱状图:bar()和barh()

(1)使用bar()函数绘制甘特图

import matplotlib.pyplot as pltx_lable = [1, 2, 3, 4, 5]
y_lable = [2, 4, 6, 8, 10]width_value = [1,1,1,1,1]for i in range(0, len(x_lable)):plt.bar(x_lable[i], bottom= y_lable[i], width=width_value[i], height= 0.5, orientation ="horizontal")plt.show()

各个参数示意图如下:

注意:使用以下代码同样可以绘制与上面方式一样的甘特图,区别在于以下方式绘制的甘特图只有一种颜色

import matplotlib.pyplot as pltx_lable = [1, 2, 3, 4, 5]
y_lable = [2, 4, 6, 8, 10]width_value = [1,1,1,1,1]plt.bar(x_lable, bottom= y_lable, width=width_value, height= 0.5, orientation ="horizontal")plt.show()

(2)使用barh()函数绘制甘特图(更好理解,推荐使用)

plt.barh(y, width, height=0.8, left=None, *, align=‘center’, **kwargs)

函数参数:

  • y: 条形的y轴坐标。
  • width:条形的宽度
  • height: 条形的高度,默认值0.8
  • left:条块左侧的x坐标。
  • align:条块底部与y轴坐标的对齐方式(默认为中间)
  • color:条块颜色
  • edgecolor:条块边缘的颜色
  • linewidth:线条宽度:可选参数。
import matplotlib.pyplot as pltx_lable = [1, 2, 3, 4, 5]
y_lable = [2, 4, 6, 8, 10]width_value = [1,1,1,1,1]for i in range(len(x_lable)):plt.barh(y_lable[i], width = width_value[i], height=0.8, left=x_lable[i])
plt.show()

注意:此函数绘制出的图形和内容与使用bar( )函数绘制出来的完全一致,且更好理解,推荐使用。

3、坐标轴相关

(1)、设置坐标轴范围:axis( ),xlim( ),ylim( )

plt.axis([x_min, x_max, y_min, y_max])

参数:

  • x_min:x轴的起始坐标
  • x_max:x轴的终止坐标
  • y_min:y轴的起始坐标
  • y_max:y轴的终止坐标

单独想要控制x轴取值:

plt.xlim(x_min, x_max)

单独想要控制y轴的取值:

plt.ylim(y_min, y_max)

(2)、设置坐标轴标签:xlabel( ),ylabel( )

plt.xlabel("x - label") #将x轴标签设置为"x - label"
plt.ylabel("y - label") #将y轴标签设置为"y - label"

结果如下:

(3)、设置坐标轴刻度及要显示内容:xticks(),yticks()

plt.xticks(locs, [labels], **kwargs)

参数:

  • locs:显示的位置 (可以分刻度)
  • labels:locs这些位置上的标签,labels的默认值为和locs相同,若该值为空,表示不显示内容
import numpy as np
import matplotlib.pyplot as plt
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x, ('Tom','Dick','Harry','Sally','Sue','Lily','Ava','Isla','Rose','Jack','Leo','Charlie'))
plt.show()

yticks()与之类似

(4)、设置x轴和y轴的取值范围:axis( )

plt.axis([a, b, c, d])

设置x轴的范围为[a, b],y轴的范围为[c, d]

(5)、设置坐标轴上刻度及字体格式:tick_params()

https://blog.csdn.net/qq_35240640/article/details/89478662

4、设置图名:title( )

plt.title("picture")

5、设置图例:legend( )

import matplotlib.pyplot as pltx = [1, 2, 3, 4]
y1 = [1.2, 2.5, 4.5, 7.3]
y2 = [4,4,4,4]# 1.通过设置来表示是哪一条线
l1,= plt.plot(x, y1, color="r")
l2,= plt.plot(x, y2, color="b")# 2.调用函数legend()来设置图例
plt.legend(handles=[l1, l2], labels=['up', 'down'],  loc='upper left')plt.show()

参数:

  1. handles:要设置的是哪些线
  2. lables:图线的名称分别是什么
  3. loc:图例的位置

loc:图例的位置的取值:
注意:上中下和左右可以两两进行组合

  • 上 :upper
  • 中:center
  • 下:lower
  • 左:left
  • 中:center
  • 右: right
  • 自适配最佳放置位置:best

6、添加文本:text( )

matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)

参数:

  • x,y:放置文本的坐标。浮点数。必备参数。
  • s:文本。字符串。必备参数。
  • fontsize:加标签字体大小,取整数。
  • verticalalignment:垂直对齐方式 ,可选 ‘center’ ,‘top’ , ‘bottom’,‘baseline’ 等
  • horizontalalignment:水平对齐方式 ,可以填 ‘center’ , ‘right’ ,‘left’
  • rotation:标签的旋转角度,以逆时针计算,取整
  • family :设置字体
  • style: 设置字体的风格
  • weight:设置字体的粗细 color:注释文本内容的字体颜色

Matplotlib绘图:plt?plt.subplots?plt.subplot?相关推荐

  1. [Python]plt.figure()、plt.subplot() 、plt.subplots()函数

    plt.figure() 创建自定义图像 语法 figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, fra ...

  2. plt.subplot()和plt.subplots(),plt.gca(),

    参考:https://www.cnblogs.com/ivyharding/p/12730929.html 获得当前图标和子图 >axes是坐标轴对象 >!当前图表可以使用plt.gcf( ...

  3. python plt pyplot matplotlib绘图时形状异常

    问题 如图,绘制的饼图和条形图叠加了,但是又不彻底. 原因 绘制过程中我前面绘制了很多图,添加了很多参数,共同作用下导致此问题的出现. 解决 使用plt.close()关掉绘图重新绘制即可. prin ...

  4. 使用可视化库matplotlib绘图时,plt.show()过后只出现Figure size 640x480 with 1 Axes而没有生成图片

    使用可视化库matplotlib绘图时,plt.show()过后只出现<Figure size 640x480 with 1 Axes>而没有生成图片 解决: 可以在前面添加 plt.fi ...

  5. 【Python学习】 - Matplotlib二维绘图 - plt.matshow()和plt.imshow()区别对比

    给定一个8*8的数据,用两种方式分别进行输出. xx = np.zeros((8,8),dtype = np.uint8) xx[0,0] = 13im = Image.fromarray(xx) p ...

  6. python plt 绘图详解(plt.版本)

    文章目录 一.plt介绍 二.安装与导入 三.使用说明 1. 使用plt.plot与plt.show绘制并显示图像 (1)曲线颜色(color 简写为 c): (2)点型(标记marker): (3) ...

  7. matplotlib中文乱码解决及plt.rcParams参数的使用

    问题描述 在使用matplotlib绘图时,常常要求图例使用中文,而若直接使用plt.title('中文')或plt.xlabel('中文')时,中文可能会出现下面的小方块 解决方法 快速解决方法 在 ...

  8. matplotlib 等高线的绘制 —— plt.contour 与 plt.contourf

    contour:轮廓,等高线. 为等高线上注明等高线的含义: cs = plt.contour(x, y, z) plt.clabel(cs, inline=1, fontsize=10) plt.c ...

  9. 【Matplotlib】清理axes 和 figure(plt.cla、plt.clf、plt.close)

    plt.cla.plt.clf.plt.close 用途 plt.cla.plt.clf.plt.close plt.cla.plt.clf.plt.close figure 的重复利用能大大节约时间 ...

最新文章

  1. java工程webservice的应用案例
  2. 【学神-RHEL7】1-4-1-Linux文件管理和恢复误删除的文件
  3. 评阅上百篇博士学位论文后专家发现:博士生SCI发的越多,通常科研能力越差...
  4. win7安装omnetpp-4.6
  5. Java如何转换protobuf-net中的bcl.Decimal对象
  6. [HOW TO]-ubuntu20.04 上安装jenkins
  7. C++下面 计算时间
  8. 游戏筑基开发之指针的练习掌握
  9. postman接口测试七
  10. 怎么把知网的外文文献翻译成中文_方法一:外文文献翻译法原理:知网论文反抄袭检测系统和万方数据...
  11. scala练习——fold函数
  12. 哈工大本部2022计算机组成原理期末试题回忆版
  13. COMSOL有限元仿真深度指南:为结构件添加预应变
  14. 企业加速推进数字化转型,程序员进国企靠谱吗?
  15. py:os模块:getcwd等处理文件和目录的方法
  16. Galera Cluster 实现mysql群集
  17. Docker Dashboard
  18. 【搜索】2019 SUST ACM Summer Training 搜索 题解
  19. 使用DIV、CSS技术设计的个人博客网页(web期末考试)
  20. 【计算机图形】制作能够利用鼠标拖拽实现360度旋转的3D人体模型flash文件

热门文章

  1. js数组、数组嵌套根据某个字段排序(eachart图标双击事件、vue双击)
  2. Win8.1 IE11 浏览器无法打开任何网页的解决办法
  3. Tomcat与JDK版本对应关系,Tomcat各版本特性,鸟哥linux视频教程
  4. 听歌用什么降噪耳机好?骑行抗风噪最好的蓝牙耳机
  5. KEIL5 AC6 出现printf告警
  6. 参加第一届“SLAM技术及应用”暑期学校暨研讨会和全国SLAM技术论坛有感
  7. 【Python】ConnectionResetError [WinError 10054] 远程主机强迫关闭了一个现有的连接
  8. The following packages have unmet dependencies
  9. 【Python模块】图形化编程模块-turtle
  10. 【观察】PowerScale:构筑“智慧广电”创新基石