python matplotlib

一、图形函数

函数名称描述
Bar绘制条形图
Barh绘制水平条形图
Boxplot绘制箱型图
Hist绘制直方图
his2d绘制2D直方图
Pie绘制饼状图
Plot在坐标轴上画线或者标记
Polar绘制极坐标图
Scatter绘制x与y的散点图
Stackplot绘制堆叠图
Stem用来绘制二维离散数据绘制(又称为火柴图)
Step绘制阶梯图
Quiver绘制一个二维按箭头

 二、功能函数

函数名称描述
Figtext在画布上添加文本
Figure创建一个新画布
Show显示数字
Savefig保存当前画布
Close关闭画布窗口

三、图形位置函数

1、figure

        设置画布,控制图形位置

figsize:指定画布的大小,(宽度,高度),单位为英寸

dpi:指定绘图对象的分辨率,即每英寸多少个像素,默认值为80

facecolor:背景颜色

edgecolor:边框颜色

frameon:是否显示边框

fig = pylab.figure(figsize=(10, 10), facecolor='g', edgecolor='r', frameon=True)

2、figure.add_axes

        定义数据轴,根据数据轴锁定图像显示区域; 

[left, bottom, width, height]:

left bottom 是轴域左下角的坐标,范围从 0 到 1。

width height 是轴域的宽度和高度,范围从 0 到 1。

ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.4])           ax2 = fig.add_axes([0.5, 0.5, 0.4, 0.4])

 

3、axes.legend

        添加图例,自动显示每条线或数据集的标签;。

labels  若在图形生成中设置了,在这里面无需设置labels,若无则 labels =["标签1,'标签2'],若无括号,就自动拆分字符串。

loc 指定标签显示在轴域的位置

handles 不填默认此轴域内的所有图形,单个填写时 handles = 图形,多个则 handles =[图形1,图形2]

ax1.legend( loc='upper right', labels=['x^2', 'x'])

loc  位置字符串表示整数数字表示
自适应Best0
右上方upper right1
左上方upper left2
左下lower left3
右下lower right4
右侧right5
居中靠左center left6
居中靠右center right7
底部居中lower center8
上部居中upper center9
中部center10

4、add_subplot

        fig.add_subplot(nrows, ncols, index);将画布分为多块区域,图形根据index放入指定位置

ax1 = fig.add_subplot(2, 2, 1) 表示将画布分为两行两列的四个区域,此图为第一个区域(类似第二象限)
ax2 = fig.add_subplot(2, 2, 3) 表示将画布分为两行两列的四个区域,此图为第三个区域(类似第三象限)

5、subplots

        格式:fig, axs = plt.subplots(nrows, ncols, figsize=(width, height))

        subplot 是根据大小锁定在画布的某块区域,需要一个个确定图形的区域,当设置的区域格式不一致时,图形大小也随着变化导致看上去怪异。

        subplots 直接将画布分割成 nrows *ncols 的矩形区域,在创建图形时直接通过行索引和列索引确定位置。

fig, axs = plt.subplots(2, 3, figsize=(18, 8)) 将画布分割成两行三列的六块区域。
axs[0, 0].plot(x, y1, label='sin(x)') #生成图像在第一块区域
axs[1, 2].plot(x, y3, label='tan(x)') #生成图像在第六块区域

6、subplot2gird

        格式:ax = plt.subplot2grid(shape, loc, rowspan=1, colspan=1)

shape: 网格的形状,格式为 (rows, cols),表示网格的行数和列数,在figure中式全局设置。

loc: 子图的起始位置,格式为 (row, col),表示子图在网格中的起始行和列。

rowspan: 子图占据的行数,默认为 1。

colspan: 子图占据的列数,默认为 1。

ax1 = plt.subplot2grid((3, 3), (0, 0)) #表示占据三行三列,从原点出发的图像
ax4 = plt.subplot2grid((2, 2), (1, 1)) #表示占据两行两列,从第二行第二列的交织点出发的图像

7、grid

        根据横轴和纵轴的值生成网格。

8、xscale 和 yscale 

        坐标轴默认根据数据情况(一般为整数或小数数值)设置刻度,可以使用 xscale 修改 横坐标 刻度, yscale  修改 纵坐标 刻度。

ax1.set_xscale('log')
ax1.set_yscale('log')

9、set_xlim 和 set_ylim

        调整坐标轴的取值范围;格式:ax.set_xlim(left, right) 、ax.set_ylim(bottom, top)

left right:X 轴的范围,left 是 X 轴的最小值,right 是 X 轴的最大值。

bottom top: Y 轴的范围,bottom 是 Y 轴的最小值,top 是 Y 轴的最大值。

ax1.set_xlim(0,2*np.pi)
ax1.set_ylim(-3, 3)

10、set_xticks 和 set_yticks

        调整坐标轴上的刻度个数和数据;

ax1.set_xticks([0, 2, 4, 6, 8, 10])
ax1.set_yticks([-1, -0.5, 0, 0.5, 1])

11、twinx 和 twiny 函数

        多个图形之间共享坐标轴:twinx 表示 横坐标,twiny 表示纵坐标。

ax2 = ax1.twinx()                                ax2 = ax1.twiny()

                        

四、图形展示

1、plot 线性图

        格式:pylab.plot(x, y, format_string=None, **kwargs);format_string: 格式字符串,用于指定线条样式、颜色等。

'b':蓝色 'g':绿色 'r':红色 'c':青色 'm':洋红色 'y':黄色 'k':黑色 'w':白色

'.':点标记 ',':像素标记 'o':圆圈标记 'v':向下三角标记 '^':向上三角标记 '<':向左三角标记 '>':向右三角标记 's':方形标记 'p':五边形标记 '*':星形标记 'h':六边形标记 1 'H':六边形标记 2 '+':加号标记 'x':叉号标记 'D':菱形标记 'd':细菱形标记 '|':竖线标记 '_':横线标记

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

2、Bar  柱状图

        格式:ax.bar(x, height, width=0.8, bottom=None, align='center', **kwargs) :x: 柱状图的 X 轴位置;height  柱状图的高度;width   柱状图的宽度,默认为 0.8;bottom   柱状图的底部位置,默认为 0;align   柱状图的对齐方式,可以是 'center'(居中对齐)或 'edge'(边缘对齐);**kwargs: 其他可选参数,用于定制柱状图的外观,如 color、edgecolor、linewidth 等。

ax.bar(x, y, align='center')                 ax.bar(x, y1, bottom=y)

                

x = ['A', 'B', 'C', 'D']
y = [20, 30, 15, 40]
y1 = [30, 20, 35, 10]

fig, ax = plt.subplots()
ax.bar(x, y, align='center')
ax.bar(x, y1, bottom=y)

plt.show() 3、

3、hist 直方图

        格式:ax.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, **kwargs):x: 数据数组;bins: 直方图的柱数,可以是整数或序列;range: 直方图的范围,格式为 (min, max);density: 是否将直方图归一化,默认为 Falseweights: 每个数据点的权重;cumulative: 是否绘制累积直方图,默认为 False;**kwargs: 其他可选参数,用于定制直方图的外观,如 coloredgecolorlinewidth 等。

ax.hist(data, bins=150)

data = np.random.randn(10000)
fig, ax = plt.subplots()
ax.hist(data, bins=150)
plt.show()

4、pie 饼图

        格式:ax.pie(x, explode=None, labels=None, colors=None, autopct=None, shadow=False, startangle=0, **kwargs) :x: 数据数组,表示每个扇区的数据(自动全部汇总算出占比);explode: 一个数组,表示每个扇区偏离圆心的距离,默认为 Nonelabels  每个扇区的标签,默认为 None;colors  每个扇区的颜色,默认为 Noneautopct   控制显示每个扇区的占比,可以是格式化字符串或函数,默认为 None;shadow: 是否显示阴影,默认为 False;startangle   饼图的起始角度,默认为 0;**kwargs: 其他可选参数,用于定制饼图的外观。

ax.pie(y, labels=x, startangle=90, autopct='%1.1f%%')

x = ['A', 'B', 'C', 'D']
y = [2, 3, 4, 5]
fig, ax = plt.subplots()
ax.pie(y, labels=x, startangle=90, autopct='%1.1f%%')
plt.show()

5、Scatter 散点图

        格式:ax.scatter(x, y, s=None, color=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, **kwargs):x: X 轴数据;y: Y 轴数据;s   点的大小,可以是标量或数组;color: 点的颜色,可以是标量、数组或颜色列表;marker  点的形状,默认为 'o'(圆圈);cmap: 颜色映射,用于将颜色映射到数据;norm: 归一化对象,用于将数据映射到颜色映射;vmin, vmax: 颜色映射的最小值和最大值;alpha: 点的透明度,取值范围为 0 到 1;linewidths: 点的边框宽度;edgecolors: 点的边框颜色;**kwargs: 其他可选参数,用于定制散点图的外观。

axes.scatter(x, y0, color='red', s=100, marker='o')

'o': 圆圈         's': 正方形        'D': 菱形        '^': 上三角形        'v': 下三角形        '>': 右三角形

'<': 左三角形        'p': 五边形        '*': 星形        '+': 加号        'x': 叉号        '.': 点        ',': 像素

'1': 三叉戟下        '2': 三叉戟上        '3': 三叉戟左        '4': 三叉戟右        

'h': 六边形1        'H': 六边形2        'd': 小菱形        '|': 竖线        '_': 横线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值