一条直线
# 引入绘图库
import matplotlib.pyplot as plt
import numpy as np
# 生成[-1, 1]的50个点
x = np.linspace(-1,1,50)
# 描绘函数关系
y = 2*x+1
# 绘图
plt.plot(x,y)
# 展示
plt.show()
运行, 得到如下图效果
注意:
- import matplotlib.pyplot as plt
我们不需要引入整个库, 大部分要用到的功能都在pyplot这个子库内, plt是为了后续简写 - import numpy as np
numpy用来产生数据进行绘图 - 预览图下方几个按钮的作用
前三个: 回到初始/前一个/后一个预览状态
第四个: 移动图像展示位置
第五个: 放大接下来框选的函数图像
第六个: 调节图像上下左右边距等
最后一个: 将当前显示的图像存盘了
多画几张
分隔不同图像, 可以使用plt.figger()
函数
该函数内可传入参数:
`mum`: 图像序号(标题栏内数字)
`figsize`: 图像大小 (长,宽,元组形式传入)
再画一条
单个图内可以画多条线, 直接使用plt.plot()
即可.
该函数可传入参数:
`x,y`: 字面意思,不表
`color`: 线的颜色,以文本形式传入,支持名称(`"red"`)或色号(`"#a02536"`)
`linewidth`: 线的宽度,默认为1.0
`linestyle`: 线的形式(如`"--"`为虚线)
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x*x
plt.figure()
plt.plot(x,y1)
plt.figure(num=114514,figsize=(8,5))
plt.plot(x,y2)
plt.plot(x,y1,color="#a02536",linewidth=3.0,linestyle="--")
plt.show()
设置坐标轴
图像取值范围
plt.xlim()
,plt,ylim()
, 传入参数的形式为元组.
横纵轴名称
plt.xlabel()
,plt.ylabel()
, 传入值为文本.
坐标轴分段
plt.xticks()
,plt.yticks()
, 传入参数由numpy生成,如:
# [-1,2]之间分12个段
new_ticks = np.linspace(-1,2,13) # 注意这里,12段==13个点
plt.xticks(new_ticks)
文字坐标轴
形成如下图中y轴的效果
仍然使用plt.xticks()
,plt.yticks()
, 传入参数为两个列表, 第一个存文字对应数值, 第二个存文字, 一一对应, 如:
plt.yticks([-2,-0.5,1,2,3],['really bad','bad','normal','good','very good'])
英文字体美化
即 very good ->
这里用到了行内公式转换, 步骤如下:
- 文本前加字母
r
, 将文本套在$$
内 - 空格
`需要转义, 每个空格前面加一个
`
样例如下:
[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$very\ good$']
其余符号也可按照语法来写,如->\alpha