一条直线

  1. # 引入绘图库
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4. # 生成[-1, 1]的50个点
  5. x = np.linspace(-1,1,50)
  6. # 描绘函数关系
  7. y = 2*x+1
  8. # 绘图
  9. plt.plot(x,y)
  10. # 展示
  11. plt.show()

运行, 得到如下图效果

第一个图 - 图1

注意:

  1. import matplotlib.pyplot as plt
    我们不需要引入整个库, 大部分要用到的功能都在pyplot这个子库内, plt是为了后续简写
  2. import numpy as np
    numpy用来产生数据进行绘图
  3. 预览图下方几个按钮的作用
    前三个: 回到初始/前一个/后一个预览状态
    第四个: 移动图像展示位置
    第五个: 放大接下来框选的函数图像
    第六个: 调节图像上下左右边距等
    最后一个: 将当前显示的图像存盘了

多画几张

分隔不同图像, 可以使用plt.figger()函数

该函数内可传入参数:

  1. `mum`: 图像序号(标题栏内数字)
  2. `figsize`: 图像大小 (长,宽,元组形式传入)

再画一条

单个图内可以画多条线, 直接使用plt.plot()即可.

该函数可传入参数:

  1. `x,y`: 字面意思,不表
  2. `color`: 线的颜色,以文本形式传入,支持名称(`"red"`)或色号(`"#a02536"`)
  3. `linewidth`: 线的宽度,默认为1.0
  4. `linestyle`: 线的形式(如`"--"`为虚线)
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. x = np.linspace(-3,3,50)
  4. y1 = 2*x+1
  5. y2 = x*x
  6. plt.figure()
  7. plt.plot(x,y1)
  8. plt.figure(num=114514,figsize=(8,5))
  9. plt.plot(x,y2)
  10. plt.plot(x,y1,color="#a02536",linewidth=3.0,linestyle="--")
  11. plt.show()

第一个图 - 图2

设置坐标轴

图像取值范围

plt.xlim(),plt,ylim(), 传入参数的形式为元组.

横纵轴名称

plt.xlabel(),plt.ylabel(), 传入值为文本.

坐标轴分段

plt.xticks(),plt.yticks(), 传入参数由numpy生成,如:

  1. # [-1,2]之间分12个段
  2. new_ticks = np.linspace(-1,2,13) # 注意这里,12段==13个点
  3. plt.xticks(new_ticks)

文字坐标轴

形成如下图中y轴的效果

第一个图 - 图3

仍然使用plt.xticks(),plt.yticks(), 传入参数为两个列表, 第一个存文字对应数值, 第二个存文字, 一一对应, 如:

  1. plt.yticks([-2,-0.5,1,2,3],['really bad','bad','normal','good','very good'])

英文字体美化

即 very good -> 第一个图 - 图4

这里用到了第一个图 - 图5行内公式转换, 步骤如下:

  1. 文本前加字母r, 将文本套在$$
  2. 空格`需要转义, 每个空格前面加一个`

样例如下:

  1. [r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$very\ good$']

其余符号也可按照第一个图 - 图6语法来写,如第一个图 - 图7->\alpha