1. 绘制图表组成元素的主要函数

1.1 plot()——展现量的变化趋势

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.cos(x) plt.plot(x, y, ls="-", lw=2, label="plot figure")
plt.legend()
plt.show()

1.2 scatter()——寻找变量之间的关系

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.random.rand(1000) plt.scatter(x, y, label="scatter figure")
plt.legend()
plt.show()

1.3 xlim()——设置x轴的数值显示范围

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.random.rand(1000) plt.scatter(x, y, label="scatter figure")
plt.legend()
plt.xlim(0.05, 10)
plt.ylim(0, 1)
plt.show()

1.4 xlabel()——设置x轴的标签文本

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.sin(x) plt.plot(x, y, ls="--", lw=2, c="c", label="plot figure")
plt.legend()
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()

1.5 grid()——绘制刻度线的网格线

import numpy as np
import matplotlib.pyplot as plt
import matplotlib matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.sin(x) plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")
plt.legend()
plt.grid(linestyle=":", color="r")
plt.show()

grid()函数的主要参数为grid(b, which, axis, color, linestyle, linewidth, **kwargs)

  • b:布尔值。就是是否显示网格线的意思。官网说如果b设置为None, 且kwargs长度为0,则切换网格状态
  • which:取值为major, minorboth。 默认为major
  • axis:取值为bothxy。就是想绘制哪个方向的网格线
  • color:这就不用多说了,就是设置网格线的颜色。或者直接用c来代替color也可以
  • linestyle:也可以用ls来代替linestyle, 设置网格线的风格,是连续实线,虚线或者其它不同的线条

1.6 axhline()——绘制平行于x轴的水平参考线

import numpy as np
import matplotlib.pyplot as plt
import matplotlib matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.sin(x) plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")
plt.legend()
plt.axhline(y=0.0, c="r", ls="--", lw=2)
plt.axvline(x=4.0, c="r", ls="--", lw=2)
plt.show()

1.7 axvspan()——绘制垂直于x轴的参考区域

import numpy as np
import matplotlib.pyplot as plt
import matplotlib matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.sin(x) plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")
plt.legend()
plt.axvspan(xmin=4.0, xmax=6.0, facecolor="y", alpha=0.3)
plt.axhspan(ymin=0.0, ymax=0.5, facecolor="y", alpha=0.3)
plt.show()

1.8 annotate()——添加图形内容细节的指向型注释文本

import numpy as np
import matplotlib.pyplot as plt
import matplotlib matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.sin(x) plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")
plt.legend()
plt.annotate(s="maximum",
xy=(np.pi / 2, 1.0),
xytext=((np.pi / 2) + 1.0, 0.8),
weight="bold",
color="b",
arrowprops=dict(arrowstyle="->", connectionstyle="arc3", color="b")
)
plt.show()

xy:被注释图形内容的位置坐标

xytext:注释文本的位置坐标

weight:注释文本的字体粗细风格

color:注释文本的字体颜色

arrowprops:指示被注释内容的箭头的属性字典

1.9 text()——添加图形内容细节的无指向型注释文本

import numpy as np
import matplotlib.pyplot as plt
import matplotlib matplotlib.use('Qt5Agg') x = np.linspace(0.05, 10, 1000)
y = np.sin(x) plt.plot(x, y, ls="-.", lw=2, c="c", label="plot figure")
plt.legend()
plt.text(x=3.10, y=0.09, s="y=sin(x)", weight="bold", color="b")
plt.show()

1.10 title()——添加图形内容的标题

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt x = np.linspace(-2, 2, 1000)
y = np.exp(x) plt.plot(x, y, ls="-", lw=2, color="g") plt.title("center demo") plt.title("left demo", loc="left",
fontdict={"size": "xx-large",
"color": "r",
"family": "Times New Roman"}) plt.title("right demo", loc="right",
family="Comic Sans MS", size=20,
style="oblique", color="c") plt.show()

主要参数都在上面代码里体现了

1.11 legend()——表示不同图形的文本标签图例

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt x = np.arange(0, 2.1, 0.1)
y = np.power(x, 3)
y1 = np.power(x, 2)
y2 = np.power(x, 1) plt.plot(x, y, ls="-", lw=2, label="$x^3$")
plt.plot(x, y1, ls="-", lw=2, label="$x^2$")
plt.plot(x, y2, ls="-", lw=2, label="$x^1$") plt.legend(loc="upper left",fontsize="x-large", bbox_to_anchor=(0.05, 0.95), ncol=3,
title="power function", shadow=True, fancybox=True) plt.show()
  • loc参数控制图例的位置,可选值为

    • best
    • upper right
    • upper left
    • lower left
    • lower right
    • right
    • center left
    • center right
    • lower center
    • upper center
    • center
  • fontsize控制图例字体大小,可选值为

    • int
    • float
    • xx-small
    • x-small
    • small
    • medium
    • large
    • x-large
    • xx-large
  • frameonTrueFalse,是否显示图例边框
  • edgecolor:图例边框颜色
  • facecolor:图例背景颜色,若无边框,参数无效
  • title:设置图例标题
  • fancyboxTrue表示线框直角,False表示线框圆角
  • shadowTrueFalse,是否显示阴影

2. 常用配置参数

2.1 线型

linestylels

  • -:实线
  • --:虚线
  • -.:点划线
  • ::点线

2.2 线宽

linewidthlw

  • 浮点数

2.3 线条颜色

colorc

  • b:blue,蓝色
  • g:green,绿色
  • r:red,红色
  • c:cyan,蓝绿
  • m:magenta,洋红
  • y:yellow,黄色
  • k:black,黑色
  • w:white,白色

也可以对关键字参数color赋十六进制的RGB字符串如 color='#900302'

2.4 点标记类型

marker,只能用以下简写符号表示

  • .:point marker
  • ,:pixel marker
  • o:circle marker
  • v:triangle_down marker
  • ^:triangle_up marker
  • <:triangle_left marker
  • >:triangle_right marker
  • 1:tri_down marker
  • 2:tri_up marker
  • 3:tri_left marker
  • 4:tri_right marker
  • s:square marker
  • p:pentagon marker
  • *:star marker
  • h:hexagon1 marker
  • H:hexagon2 marker
  • +:plus marker
  • x:x marker
  • D:diamond marker
  • d:thin_diamond marker
  • |:vline marker
  • _:hline marker

特别地,标记还有mathtext模式

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl mpl.use('Qt5Agg')
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串 x = np.arange(1, 13, 1)
y = np.array([12, 34, 22, 30, 18, 13, 15, 19, 24, 28, 23, 27]) fig, ax = plt.subplots(2, 2) ax[0, 0].scatter(x, y * 1.5, marker=r"$\clubsuit$", c="#fb8072", s=500)
ax[0, 0].locator_params(axis="x", tight=True, nbins=11)
ax[0, 0].set_xlim(0, 13)
ax[0, 0].set_xticks(x)
ax[0, 0].set_title('显示样式{}的散点图'.format(r"$\clubsuit$")) ax[0, 1].scatter(x, y - 2, marker=r"$\heartsuit$", c="#fb8072", s=500)
ax[0, 1].locator_params(axis="x", tight=True, nbins=11)
ax[0, 1].set_xlim(0, 13)
ax[0, 1].set_xticks(x)
ax[0, 1].set_title('显示样式{}的散点图'.format(r"$\heartsuit$")) ax[1, 0].scatter(x, y + 7, marker=r"$\diamondsuit$", c="#fb8072", s=500)
ax[1, 0].locator_params(axis="x", tight=True, nbins=11)
ax[1, 0].set_xlim(0, 13)
ax[1, 0].set_xticks(x)
ax[1, 0].set_title('显示样式{}的散点图'.format(r"$\diamondsuit$")) ax[1, 1].scatter(x, y - 9, marker=r"$\spadesuit$", c="#fb8072", s=500)
ax[1, 1].locator_params(axis="x", tight=True, nbins=11)
ax[1, 1].set_xlim(0, 13)
ax[1, 1].set_xticks(x)
ax[1, 1].set_title('显示样式{}的散点图'.format(r"$\spadesuit")) plt.suptitle("不同原始字符串作为标记类型的展示效果", fontsize=16, weight="black") plt.show()

官网有一张属性表,先贴在这,以后有空会再补充内容的

『Python』matplotlib常用函数的更多相关文章

  1. 『Python』matplotlib常用图表

    这里简要介绍几种统计图形的绘制方法,其他更多图形可以去matplotlib找examples魔改 1. 柱状图 柱状图主要是应用在定性数据的可视化场景中,或是离散数据类型的分布展示.例如,一个本科班级 ...

  2. 『Python』matplotlib划分画布的主要函数

    1. subplot() 绘制网格区域中几何形状相同的子区布局 函数签名有两种: subplot(numRows, numCols, plotNum) subplot(CRN) 都是整数,意思是将画布 ...

  3. 『Python』pycharm常用设置

    学习一下pycharm的快捷操作,提升速度,也提升舒适度,笑. 常用快捷键 ctrl + d :复制粘贴本行到下一行 ctrl + y :删除本行 ctrl + 鼠标点击 :跳转 ctrl + / : ...

  4. 『Python』为什么调用函数会令引用计数+2

    一.问题描述 Python中的垃圾回收是以引用计数为主,分代收集为辅,引用计数的缺陷是循环引用的问题.在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存. sys.g ...

  5. 『Python』matplotlib的imshow用法

    热力图是一种数据的图形化表示,具体而言,就是将二维数组中的元素用颜色表示.热力图之所以非常有用,是因为它能够从整体视角上展示数据,更确切的说是数值型数据. 使用imshow()函数可以非常容易地制作热 ...

  6. 『Python』matplotlib实现动画效果

    一般而言,在绘制复杂动画时,主要借助模块animation来完成 import numpy as np import matplotlib.pyplot as plt import matplotli ...

  7. 『Python』matplotlib坐标轴应用

    1. 设置坐标轴的位置和展示形式 import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl mpl.use ...

  8. 『Python』matplotlib共享绘图区域坐标轴

    1. 共享单一绘图区域的坐标轴 有时候,我们想将多张图形放在同一个绘图区域,不想在每个绘图区域只绘制一幅图形.这时候,就可以借助共享坐标轴的方法实现在一个绘图区域绘制多幅图形的目的. import n ...

  9. 『Python』matplotlib实现GUI效果

    1. 类RadioButtons的使用方法 类似单选框 import numpy as np import matplotlib.pyplot as plt import matplotlib as ...

随机推荐

  1. docker commit (从容器创建一个新的镜像)

    从容器创建一个新的镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜 ...

  2. WPF LiveChart 图表详解

    //参考网址:https://www.cnblogs.com/zh7791/p/12617961.html 本文主要介绍LiveChart.WPF 中的图表的使用方法 类: 数据绑定, 数据显示样式等 ...

  3. springboot中@Mapper和@Repository的区别

    @Mapper和@Repository是常用的两个注解,两者都是用在dao上,两者功能差不多,容易混淆,有必要清楚其细微区别: 区别: @Repository需要在Spring中配置扫描地址,然后生成 ...

  4. C++11 unique_ptr智能指针详解

    在<C++11 shared_ptr智能指针>的基础上,本节继续讲解 C++11 标准提供的另一种智能指针,即 unique_ptr 智能指针. 作为智能指针的一种,unique_ptr ...

  5. Windows系统搭建Redis集群三种模式(零坑、最新版)

    目录 主从复制 修改配置文件 启动各节点 验证 哨兵模式 修改配置文件 启动实例 验证 集群模式 修改配置文件 启动实例 验证 主从复制 新建以下三个目录,用来部署一主二从 redis 的安装在另外一 ...

  6. eh-admin一套前后端一体的轻量级后台管理系统

    https://gitee.com/DawnYang/eh-admin 主要技术 后端技术:Spring Boot,Apache Shiro,MyBatis-Plus等: 前端技术:Jquery,La ...

  7. C# - 习题05_写出程序的输出结果o1.count

    时间:2017-08-24 整理:byzqy 题目:写出下列程序的输出结果: //原题程序如下: class Class1 { private static int count = 0; static ...

  8. Python安装环境配置和多版本共存

    Python安装环境配置和多版本共存 1.环境变量配置: (1) 右键点击"计算机",然后点击"属性" (2) 然后点击"高级系统设置" ( ...

  9. Python - 面向对象编程 - 实战(4)

    需求:士兵突进 士兵许三多有一把 AK47 士兵可以开火 枪能够发射子弹 枪装填子弹,可以增加子弹数量 需求分析 很明显有两个类:士兵类,枪类 AK47 是枪名,是枪类的属性,每把枪都有子弹数,所以子 ...

  10. 第二课:启动 GDB 调试

    使用 GDB 调试程序一般有三种方式: gdb filename gdb attach pid gdb filename corename 这也对应着本节课的核心内容: 直接调试目标程序 附加进程 调 ...