我们根据创建一个图形的基础流程来学习基础语法
创建画布与创建子图
首先我们要先创建一个画布,这样才有绘制图形的地方,同时创建的画布也是可以被划分成多个部分的,方便在同一张画布上绘制多个图形
pyplot.figure(Num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=, clear=False, **kwargs)
Num
指定画布id,默认自增figsize
指定画布大小,参数为元组,默认为4*4英寸dpi
指定画布像素,参数为整数,表示窗口分辨率facecolor
指定背景颜色edgecolor
指定边框颜色frameon
是否绘制窗口的图框figureclass
???clear
对于当前创建的窗口id,如果已经存在则会清除原窗口内容pyplot.figure.add_subplot
添加画布内容
函数名称 | 作用 |
---|---|
pyplot.title | 在当前图形中添加标题,可以指定名称,位置,颜色,字体大小等 |
pyplot.xlabel | 在当前图形中添加x轴名称,可以指定位置,颜色,字体大小等 |
pyplot.ylabel | 在当前图形中添加y轴名称,可以指定位置,颜色,字体大小等 |
pyplot.xlim | 指定当前图形的x轴范围,只能指定一个数值区间 |
pyplot.ylim | 指定当前图形的y轴范围,只能指定一个数值区间 |
pyplot.xticks | 指定x轴刻度的数目与取值 |
pyplot.yticks | 指定y轴刻度的数目与取值 |
pyplot.legeng | 指定当前图形的图例,可以指定图例的大小,位置,标签 |
pyplot.savefig
pyplot.show
实例代码
import numpy as np
import matplotlib.pyplot as plt
data = np.arange(0, 1, 0.01)# 初始化要用于绘制的数据
plt.title("lines")# 设置标题
plt.xlabel("x")# 设置x轴名称
plt.ylabel("y")
plt.xlim((0, 1))# 设置x轴范围
plt.ylim((0, 1))
plt.xticks([0, 0.2, 0.4, 0.6, 0.8, 1])# 设置x轴刻度
plt.yticks([0, 0.2, 0.4, 0.6, 0.8, 1])
plt.plot(data, data**2)# 绘制y=x^2
plt.plot(data, data**4)# 绘制y=x^4
plt.legend(['y=x^2','y=x^4'])# 设置图例
plt.show()
plt.savefig("./example.png")
plot绘图函数后面讲解
pyplot使用rc配置文件来定义图形的默认属性,称为rc配置或rc参数,可以动态修改
pyplot.rcParams[参数名] = 取值
rc参数名 | 解释 | 取值 |
---|---|---|
lines.linewidth | 线条宽度 | 0~10之间,默认1.5 |
lines.linestyle | 线条样式 | “-” “--” “-.” “:” 四种,默认"-" |
lines.marker | 线条上点的形状 | "o" "D" "h" "." "," "S" 等一共二十种,默认None(具体在下方) |
lines.markersize | 点的大小 | 0~10,默认为1 |
linestyle取值的含义
-
实线--
长虚线-.
点线:
短虚线linemarker取值的含义
取值 | 含义 | 取值 | 含义 |
---|---|---|---|
o | 圆圈 | . | 点 |
D | 菱形 | s | 正方形 |
h | 六边形#1 | * | 星号 |
H | 六边形#2 | d | 小菱形 |
- | 水平线 | v | 一角朝下的三角形 |
8 | 八边形 | < | 一角朝左的三角形 |
p | 五边形 | > | 一角朝右的三角形 |
, | 像素 | ^ | 一角朝上的三角形 |
+ | 加号 | \ | 竖线 |
None | 无 | x | X |
默认的字体无法显示中文,因此需要指定包含中文的字体
pyplot.rcParams['font.sans-serif'] = 'SimHei'
将字体设置为黑体
pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, alpha=None, linewidth=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
几个常用参数
x, y
接收array,用于x轴与y轴对应的数据s
接收数值或者一维array,指定点的大小c
接收颜色或者一维array,指定颜色marker
接收特定string,指定点的形状alpha
接收0~1的小数,指定点的透明度pyplot.plot(*args, **kwargs)
官方只要求输入不定长参数,实际可输入的有
x, y
接收array,表示x轴和y轴对应的数据color
接收特定string,指定线条颜色,默认Nonelinestyle
接收特定string,指定线条类型,默认 -marker
接收特定string,指定绘制点的类型,默认Nonealpha
接收0~1的小数,指定点的透明度颜色字符串
颜色缩写 | 对应颜色 | 颜色缩写 | 对应颜色 |
---|---|---|---|
b | 蓝色 | m | 品红 |
g | 绿色 | y | 黄色 |
r | 红色 | k | 黑色 |
c | 青色 | w | 白色 |
pyplot.bar(left, height, width=0.8, bottom=None, hold=None, data=None, **kwargs)
left
接收array,指定x轴数据height
接收aray,指定x轴数据的数量width
接收0~1之间的小数,指定直方图宽度color
接收特定string或array,指定直方图颜色pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, raduis=None, counterclock=True, Wedgeprops=None, textprops=None, center=(0, 0), frame=False, hold=None, data=None)
x
接收array,用于绘制饼图的数据explode
接收array,表示指定项距离饼图圆心为n个半径labels
接收array,指定每一项的名称color
接收特定string或者array,指定饼图颜色autopct
接收string,指定数值显示方式pctdistance
接收浮点数,指定每一项的比例和距离圆心的半径labeldistance
接收浮点数,指定每一项的名称和距离圆心的半径radius
饼图半径pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, usermedians=None, conf_intervals=None, meanline=None, showmeans=None, showcaps=None, showbox=None, showfliers=None, boxprops=None, labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_xticks=True, autorange=False, zorder=None, hold=None, data=None)
x
接收array,用于绘制箱线图的数据notch
接收boolean,表示箱体中间是否有缺口sym
接收特定string,指定异常点的形状vert
接收boolean,表示图形是横向还是纵向positions
接收array,表示图形位置widths
接收scalar或者array,表示每个箱体的宽度labels
接收array,指定每一个箱线图的标签meanline
接收boolean,表示是否显示均值线