Skip to main content

        绘制不同样式的图 - Featured image

绘制不同样式的图

常用的图形有关函数整理

散点图

使用 pyplot 中的 scatter() 方法来绘制散点图

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None,norm=None, vmin=None, vmax=None,alpha=None, linewidths=None, *, edgecolors=None,
plotnonfinite=False, data=None, **kwargs)

参数说明:

l  参数说明:

l  x,y:长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。

l  s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。

l  c:点的颜色,默认蓝色 ‘b’,也可以是个 RGB 或RGBA 二维行数组。

l  marker:点的样式,默认小圆圈 ‘o’。

l  cmap:Colormap颜色条,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。(shrink=0.05可以定义颜色条的大小)

l  norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。

l  vmin,vmax::亮度设置,在 norm 参数存在时会忽略。

l  alpha::透明度设置,0-1之间,默认 None,即不透明。

l  linewidths::标记点的长度。

l  edgecolors::颜色或颜色序列,默认为 ‘face’,可选值有 ‘face’, ’none’, None。

l  plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

l  **kwargs::其他参数。

注:

如果要显示颜色条,需要使用 plt.colorbar() 方法

柱形图

用 pyplot中的 bar() 方法来绘制柱形图

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center',data=None, **kwargs)

参数说明:

l  参数说明:

l  x:浮点型数组,柱形图的 x 轴数据。

l  height:浮点型数组,柱形图的高度。

l  width:浮点型数组,柱形图的宽度。

l  bottom:浮点型数组,底座的 y 坐标,默认 0。

l  align:柱形图与 x 坐标的对齐方式,‘center’ 以 x 位置为中心,这是默认值。 ’edge’:将柱形图的左边缘与 x 位置对齐。要对齐右边缘的条形,可以传递负数的宽度值及 align=‘edge’。

l  **kwargs::其他参数。

注:

垂直方向的柱形图可以使用 barh() 方法来设置, (bar()方法使用width设置,barh()方法使用height设置 height)

堆积柱形图

用stackplot(x,y)

y为多组数据

饼图

使用 pyplot中的 pie() 方法来绘制饼图。

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6,
shadow=False,
labeldistance=1.1,
startangle=0, radius=1, counterclock=True,
wedgeprops=None, textprops=None,
center=0, 0,
frame=False, rotatelabels=False, *, normalize=None, data=None)[source]

参数说明:

l  x:浮点型数组或列表,用于绘制饼图的数据,表示每个扇形的面积。

l  explode:数组,表示各个扇形之间的间隔,默认值为0。

l  labels:列表,各个扇形的标签,默认值为 None。

l  colors:数组,表示各个扇形的颜色,默认值为 None。

l  autopct:设置饼图内各个扇形百分比显示格式,%d%%整数百分比,%0.1f 一位小数, %0.1f%% 一位小数百分比, %0.2f%% 两位小数百分比。

l  labeldistance:标签标记的绘制位置,相对于半径的比例,默认值为 1.1,如 <1则绘制在饼图内侧。

l  pctdistance::类似于 labeldistance,指定 autopct 的位置刻度,默认值为 0.6。

l  shadow::布尔值True 或 False,设置饼图的阴影,默认为 False,不设置阴影。

l  radius::设置饼图的半径,默认为 1。

l  startangle::用于指定饼图的起始角度,默认为从x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起。

l  counterclock:布尔值,用于指定是否逆时针绘制扇形,默认为 True,即逆时针绘制,False 为顺时针。

l  wedgeprops :字典类型,默认值 None。用于指定扇形的属性,比如边框线颜色、边框线宽度等。例如:wedgeprops={’linewidth’:5}设置 wedge 线宽为5。

l  textprops :字典类型,用于指定文本标签的属性,比如字体大小、字体颜色等,默认值为 None。

l  center :浮点类型的列表,用于指定饼图的中心位置,默认值:(0,0)。

l  frame :布尔类型,用于指定是否绘制饼图的边框,默认值:False。如果是 True,绘制带有表的轴框架。

l  rotatelabels :布尔类型,用于指定是否旋转文本标签,默认为 False。如果为 True,旋转每个 label 到指定的角度。

l  data:用于指定数据。如果设置了 data 参数,则可以直接使用数据框中的列作为 x、labels 等参数的值,无需再次传递。

除此之外,pie() 函数还可以返回三个参数:

l  * wedges:一个包含扇形对象的列表。

l  * texts:一个包含文本标签对象的列表。

l  * autotexts:一个包含自动生成的文本标签对象的列表。

区域填充图

fill_between(x,y1,y2,alpha=,linewidth=0)

还可以加一个实线更好观看数据走向趋势,plot(x,(y1+y2)/2)

直方图

使用 pyplot中的 hist() 方法来绘制直方图。

matplotlib.pyplot.hist(x, bins=None,range=None, density=False, weights=None, cumulative=False, bottom=None,histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None,stacked=False, **kwargs)

参数说明:

l  x:表示要绘制直方图的数据,可以是一个一维数组或列表。

l  bins:可选参数,表示直方图的箱数。默认为10。

l  range:可选参数,表示直方图的值域范围,可以是一个二元组或列表。默认为None,即使用数据中的最小值和最大值。

l  density:可选参数,表示是否将直方图归一化。默认为False,即直方图的高度为每个箱子内的样本数,而不是频率或概率密度。

l  weights:可选参数,表示每个数据点的权重。默认为None。

l  cumulative:可选参数,表示是否绘制累积分布图。默认为False。

l  bottom:可选参数,表示直方图的起始高度。默认为None。

l  histtype:可选参数,表示直方图的类型,可以是’bar’、‘barstacked’、‘step’、‘stepfilled’等。默认为’bar’。

l  align:可选参数,表示直方图箱子的对齐方式,可以是’left’、‘mid’、‘right’。默认为’mid’。

l  orientation:可选参数,表示直方图的方向,可以是’vertical’、‘horizontal’。默认为’vertical’。

l  rwidth:可选参数,表示每个箱子的宽度。默认为None。

l  log:可选参数,表示是否在y轴上使用对数刻度。默认为False。

l  color:可选参数,表示直方图的颜色。

l  label:可选参数,表示直方图的标签。

l  stacked:可选参数,表示是否堆叠不同的直方图。默认为False。

l  **kwargs:可选参数,表示其他绘图参数。