Python_matplotlib入门详解

一、Matplotlib 

博文来源:https://www.runoob.com/matplotlib/matplotlib-tutorial.html

Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。

Matplotlib 可以用来绘制各种静态,动态,交互式的图表。

Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。

Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。

二、Matplotlib 安装

我们使用 pip 工具来安装 Matplotlib 库,

升级 pip:

python3 -m pip install -U pip

 

安装 matplotlib 库:

python3 -m pip install -U matplotlib

 

安装完成后,我们就可以通过 import 来导入 matplotlib 库:

以下实例,我们通过导入 matplotlib 库,然后查看 matplotlib 库的版本号:

实例

import matplotlib

print(matplotlib.__version__)

 

三、Matplotlib Pyplot

Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。

Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。

Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。

使用的时候,我们可以使用 import 导入 pyplot 库,并设置一个别名  plt:

这样我们就可以使用  plt 来引用 Pyplot 包的方法。

以下实例,我们通过两个坐标  (0,0)  到  (6,100)  来绘制一条线:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

xpoints
= np.array([0, 6 ])
ypoints
= np.array([0, 100 ])

plt.plot(xpoints, ypoints)
plt.show()

输出结果如下所示:

以上实例中我们使用了 Pyplot 的  plot() 函数,  plot() 函数是绘制二维图形的最基本函数。

plot() 用于画图它可以绘制点和线,语法格式如下:

 # 画单条线 plot ([ x ], y ,  [ fmt ],  *, data = None ,  ** kwargs )  # 画多条线 plot ([ x ], y ,  [ fmt ],  [ x2 ], y2 ,  [ fmt2 ],  ...,  ** kwargs )                                                 

参数说明:

  • x, y: 点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。
  • fmt: 可选,定义基本格式(如颜色、标记和线条样式)。
  • **kwargs: 可选,用在二维平面图上,设置指定属性,如标签,线的宽度等。
>>> plot(x, y)        # 创建 y 中数据与 x 中对应值的二维线图,使用默认样式
>>> plot(x, y, 'bo')  # 创建 y 中数据与 x 中对应值的二维线图,使用蓝色实心圈绘制
>>> plot(y)           # x 的值为 0..N-1
>>> plot(y, 'r+')     # 使用红色 + 号

颜色字符: 'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色,'#008000' RGB 颜色符串。多条曲线不指定颜色时,会自动选择不同颜色。

线型参数: '‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。

标记字符: '.' 点标记,',' 像素标记(极小点),'o' 实心圈标记,'v' 倒三角标记,'^' 上三角标记,'>' 右三角标记,'<' 左三角标记...等等。

如果我们要绘制坐标 (1, 3) 到 (8, 10) 的线,我们就需要传递两个数组 [1, 8] 和 [3, 10] 给  plot  函数:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

xpoints
= np.array([1, 8 ])
ypoints
= np.array([3, 10 ])

plt.plot(xpoints, ypoints)
plt.show()

以上代码输出结果为:

如果我们只想绘制两个坐标点,而不是一条线,可以使用  o 参数,表示一个实心圈的标记:

绘制坐标 (1, 3) 和 (8, 10) 的两个点

 import  matplotlib.pyplot as plt  import  numpy as np

xpoints
= np.array([1, 8 ])
ypoints
= np.array([3, 10 ])

plt.plot(xpoints, ypoints,
' o ' )
plt.show()

以上代码输出结果为:

我们也可以绘制任意数量的点,只需确保两个轴上的点数相同即可。

绘制一条不规则线,坐标为 (1, 3) 、 (2, 8) 、(6, 1) 、(8, 10),对应的两个数组为:[1, 2, 6, 8] 与 [3, 8, 1, 10]。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

xpoints
= np.array([1, 2, 6, 8 ])
ypoints
= np.array([3, 8, 1, 10 ])

plt.plot(xpoints, ypoints)
plt.show()

 

以上代码输出结果为:

如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为  0, 1, 2, 3..N-1。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([3, 10 ])

plt.plot(ypoints)
plt.show()

 

以上代码输出结果为:

从上图可以看出 x 的值默认设置为  [0, 1]

再看一个有更多值的实例:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([3, 8, 1, 10, 5, 7 ])i

plt.plot(ypoints)
plt.show()

 

以上代码输出结果为:

从上图可以看出  x  的值默认设置为  [0, 1, 2, 3, 4, 5]

以下实例我们绘制一个正弦和余弦图,在 plt.plot() 参数中包含两对  x,y  值,第一对是  x,y ,这对应于正弦函数,第二对是  x,z ,这对应于余弦函数。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

x
= np.arange(0,4*np.pi,0.1) # start,stop,step y = np.sin(x)
z
= np.cos(x)
plt.plot(x,y,x,z)
plt.show()

 

以上代码输出结果为:

 

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([1,3,4,5,8,9,6,1,3,4,5,2,4 ])

plt.plot(ypoints, marker
= ' o ' )
plt.show()

 

四、Matplotlib 绘图标记

绘图过程如果我们想要给坐标自定义一些不一样的标记,就可以使用  plot()  方法的  marker 参数来定义。

以下实例定义了实心圆标记:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([1,3,4,5,8,9,6,1,3,4,5,2,4 ])

plt.plot(ypoints, marker
= ' o ' )
plt.show()

 

显示结果如下:

marker 可以定义的符号如下:

标记 符号 描述
"." m00
"," m01 像素点
"o" m02 实心圆
"v" m03 下三角
"^" m04 上三角
"<" m05 左三角
">" m06 右三角
"1" m07 下三叉
"2" m08 上三叉
"3" m09 左三叉
"4" m10 右三叉
"8" m11 八角形
"s" m12 正方形
"p" m13 五边形
"P" m23 加号(填充)
"*" m14 星号
"h" m15 六边形 1
"H" m16 六边形 2
"+" m17 加号
"x" m18 乘号 x
"X" m24 乘号 x (填充)
"D" m19 菱形
"d" m20 瘦菱形
"|" m21 竖线
"_" m22 横线
0 (TICKLEFT) m25 左横线
1 (TICKRIGHT) m26 右横线
2 (TICKUP) m27 上竖线
3 (TICKDOWN) m28 下竖线
4 (CARETLEFT) m29 左箭头
5 (CARETRIGHT) m30 右箭头
6 (CARETUP) m31 上箭头
7 (CARETDOWN) m32 下箭头
8 (CARETLEFTBASE) m33 左箭头 (中间点为基准)
9 (CARETRIGHTBASE) m34 右箭头 (中间点为基准)
10 (CARETUPBASE) m35 上箭头 (中间点为基准)
11 (CARETDOWNBASE) m36 下箭头 (中间点为基准)
"None", "  " or ""   没有任何标记
'$...$' m37 渲染指定的字符。例如 "$f$" 以字母 f 为标记。

 

以下实例定义了  * 标记:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([1,3,4,5,8,9,6,1,3,4,5,2,4 ])

plt.plot(ypoints, marker
= ' * ' )
plt.show()

 

显示结果如下:

fmt 参数

fmt 参数定义了基本格式,如标记、线条样式和颜色。

例如  o:r, o 表示实心圆标记, : 表示虚线, r 表示颜色为红色。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])

plt.plot(ypoints,
' o:r ' )
plt.show()

 

显示结果如下:

线类型:

线类型标记 描述
'-' 实线
':' 虚线
'--' 破折线
'-.' 点划线

颜色类型:

颜色标记 描述
'r' 红色
'g' 绿色
'b' 蓝色
'c' 青色
'm' 品红
'y' 黄色
'k' 黑色
'w' 白色

标记大小与颜色

我们可以自定义标记的大小与颜色,使用的参数分别是:

  • markersize,简写为  ms :定义标记的大小。
  • markerfacecolor,简写为  mfc :定义标记内部的颜色。
  • markeredgecolor,简写为  mec :定义标记边框的颜色。

设置标记大小:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])

plt.plot(ypoints, marker
= ' o ' , ms = 20 )
plt.show()

 

显示结果如下:

设置标记外边框颜色:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])

plt.plot(ypoints, marker
= ' o ' , ms = 20, mec = ' r ' )
plt.show()

 

显示结果如下:

设置标记内部颜色:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])

plt.plot(ypoints, marker
= ' o ' , ms = 20, mfc = ' r ' )
plt.show()

 

显示结果如下:

自定义标记内部与边框的颜色:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])
plt.plot(ypoints, marker
= ' o ' , ms = 20, mec = ' #4CAF50 ' , mfc = ' #4CAF50 ' )
plt.show()

 

显示结果如下:

 

五、Matplotlib 绘图线

绘图过程如果我们自定义线的样式,包括线的类型、颜色和大小等。

线的类型

线的类型可以使用  linestyle  参数来定义,简写为  ls。

类型 简写 说明
'solid' (默认) '-' 实线
'dotted' ':' 点虚线
'dashed' '--' 破折线
'dashdot' '-.' 点划线
'None' '' 或 ' ' 不画线

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])

plt.plot(ypoints, linestyle
= ' dotted ' )
plt.show()

 

显示结果如下:

线的颜色

线的颜色可以使用  color  参数来定义,简写为  c。

颜色类型:

颜色标记 描述
'r' 红色
'g' 绿色
'b' 蓝色
'c' 青色
'm' 品红
'y' 黄色
'k' 黑色
'w' 白色

当然也可以自定义颜色类型,例如: SeaGreen、#8FBC8F  等,完整样式可以参考 HTML 颜色值。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])

plt.plot(ypoints, color
= ' r ' )
plt.show()

 

显示结果如下:

线的宽度

线的宽度可以使用  linewidth  参数来定义,简写为  lw,值可以是浮点数,如: 12.05.67  等。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

ypoints
= np.array([6, 2, 13, 10 ])

plt.plot(ypoints, linewidth
= ' 12.5 ' )
plt.show()

 

显示结果如下:

多条线

plot() 方法中可以包含多对 x,y 值来绘制多条线。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

y1
= np.array([3, 7, 5, 9 ])
y2
= np.array([6, 2, 13, 10 ])

plt.plot(y1)
plt.plot(y2)

plt.show()

显示结果如下:

我们也可以自己设置 x 坐标等值:

六、Matplotlib 轴标签和标题

我们可以使用  xlabel()  和  ylabel()  方法来设置 x 轴和 y 轴的标签。

实例

 import  numpy as np  import  matplotlib.pyplot as plt

x
= np.array([1, 2, 3, 4 ])
y
= np.array([1, 4, 9, 16 ])
plt.plot(x, y)

plt.xlabel(
" x - label " )
plt.ylabel(
" y - label " )

plt.show()

 

显示结果如下:

标题

我们可以使用  title()  方法来设置标题。

实例

 import  numpy as np  import  matplotlib.pyplot as plt

x
= np.array([1, 2, 3, 4 ])
y
= np.array([1, 4, 9, 16 ])
plt.plot(x, y)

plt.title(
" RUNOOB TEST TITLE " )
plt.xlabel(
" x - label " )
plt.ylabel(
" y - label " )

plt.show()

 

显示结果如下:

图形中文显示

Matplotlib 默认情况不支持中文,如有需要参考:https://www.runoob.com/matplotlib/matplotlib-label.html

 

七、Matplotlib 网格线

我们可以使用 pyplot 中的 grid() 方法来设置图表中的网格线。

grid() 方法语法格式如下:

 matplotlib . pyplot . grid ( b = None , which = 'major' , axis = 'both' ,  )                    

参数说明:

  • b :可选,默认为 None,可以设置布尔值,true 为显示网格线,false 为不显示,如果设置 **kwargs 参数,则值为 true。
  • which :可选,可选值有 'major'、'minor' 和 'both',默认为 'major',表示应用更改的网格线。
  • axis :可选,设置显示哪个方向的网格线,可以是取 'both'(默认),'x' 或 'y',分别表示两个方向,x 轴方向或 y 轴方向。
  • **kwargs :可选,设置网格样式,可以是 color='r', linestyle='-' 和 linewidth=2,分别表示网格线的颜色,样式和宽度。

以下实例添加一个简单的网格线,参数使用默认值:

实例

 import  numpy as np  import  matplotlib.pyplot as plt

x
= np.array([1, 2, 3, 4 ])
y
= np.array([1, 4, 9, 16 ])


plt.title(
" RUNOOB grid() Test " )
plt.xlabel(
" x - label " )
plt.ylabel(
" y - label " )

plt.plot(x, y)

plt.grid()

plt.show()

 

显示结果如下:

以下实例添加一个简单的网格线,axis 参数使用 x,设置 x 轴方向显示网格线:

实例

 import  numpy as np  import  matplotlib.pyplot as plt

x
= np.array([1, 2, 3, 4 ])
y
= np.array([1, 4, 9, 16 ])


plt.title(
" RUNOOB grid() Test " )
plt.xlabel(
" x - label " )
plt.ylabel(
" y - label " )

plt.plot(x, y)

plt.grid(axis
= ' x ' ) # 设置 y 就在轴方向显示网格线 plt.show()

 

显示结果如下:

以下实例添加一个简单的网格线,并设置网格线的样式,格式如下:

 grid ( color  =  'color' , linestyle  =  'linestyle' , linewidth  = number )                

参数说明:

color: 'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色,'#008000' RGB 颜色符串。

linestyle: '‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。

linewidth :设置线的宽度,可以设置一个数字。

实例

 import  numpy as np  import  matplotlib.pyplot as plt

x
= np.array([1, 2, 3, 4 ])
y
= np.array([1, 4, 9, 16 ])


plt.title(
" RUNOOB grid() Test " )
plt.xlabel(
" x - label " )
plt.ylabel(
" y - label " )

plt.plot(x, y)

plt.grid(color
= ' r ' , linestyle = ' -- ' , linewidth = 0.5 )

plt.show()

 

显示结果如下:

八、Matplotlib 绘制多图

我们可以使用 pyplot 中的  subplot()  和  subplots()  方法来绘制多个子图。

subplot()  方法在绘图时需要指定位置, subplots()  方法可以一次生成多个,在调用时只需要调用生成对象的 ax 即可。

subplot

 subplot ( nrows , ncols , index ,  ** kwargs ) subplot ( pos ,  ** kwargs ) subplot (** kwargs ) subplot ( ax )                            

以上函数将整个绘图区域分成 nrows 行和 ncols 列,然后从左到右,从上到下的顺序对每个子区域进行编号  1...N ,左上的子区域的编号为 1、右下的区域编号为 N,编号可以通过参数  index  来设置。

设置 numRows = 1,numCols = 2,就是将图表绘制成 1x2 的图片区域, 对应的坐标为:

 ( 1 ,  1 ),  ( 1 ,  2 )             

plotNum = 1 , 表示的坐标为(1, 1), 即第一行第一列的子图。

plotNum = 2 , 表示的坐标为(1, 2), 即第一行第二列的子图。

 

实例

 import  matplotlib.pyplot as plt  import  numpy as np  #  plot 1: 
xpoints = np.array([0, 6 ])
ypoints
= np.array([0, 100 ])

plt.subplot(
1, 2, 1 )
plt.plot(xpoints,ypoints)
plt.title(
" plot 1 " ) # plot 2: x = np.array([1, 2, 3, 4 ])
y
= np.array([1, 4, 9, 16 ])

plt.subplot(
1, 2, 2 )
plt.plot(x,y)
plt.title(
" plot 2 " )

plt.suptitle(
" RUNOOB subplot Test " )
plt.show()

 

显示结果如下:

设置 numRows = 2,numCols = 2,就是将图表绘制成 2x2 的图片区域, 对应的坐标为:

 ( 1 ,  1 ),  ( 1 ,  2 )  ( 2 ,  1 ),  ( 2 ,  2 )                           

plotNum = 1 , 表示的坐标为(1, 1), 即第一行第一列的子图。

plotNum = 2 , 表示的坐标为(1, 2), 即第一行第二列的子图。

plotNum = 3 , 表示的坐标为(2, 1), 即第二行第一列的子图。

plotNum = 4 , 表示的坐标为(2, 2), 即第二行第二列的子图。

实例

 import  matplotlib.pyplot as plt  import  numpy as np  #  plot 1: 
x = np.array([0, 6 ])
y
= np.array([0, 100 ])

plt.subplot(
2, 2, 1 )
plt.plot(x,y)
plt.title(
" plot 1 " ) # plot 2: x = np.array([1, 2, 3, 4 ])
y
= np.array([1, 4, 9, 16 ])

plt.subplot(
2, 2, 2 )
plt.plot(x,y)
plt.title(
" plot 2 " ) # plot 3: x = np.array([1, 2, 3, 4 ])
y
= np.array([3, 5, 7, 9 ])

plt.subplot(
2, 2, 3 )
plt.plot(x,y)
plt.title(
" plot 3 " ) # plot 4: x = np.array([1, 2, 3, 4 ])
y
= np.array([4, 5, 6, 7 ])

plt.subplot(
2, 2, 4 )
plt.plot(x,y)
plt.title(
" plot 4 " )

plt.suptitle(
" RUNOOB subplot Test " )
plt.show()

 

显示结果如下:

 

Matplotlib 散点图

我们可以使用 pyplot 中的 scatter() 方法来绘制散点图。

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 )                                                                

参数说明:

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

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

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

marker :点的样式,默认小圆圈 'o'。

cmap :Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。

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

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

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

linewidths: :标记点的长度。

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

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

**kwargs: :其他参数。

以下实例 scatter() 函数接收长度相同的数组参数,一个用于 x 轴的值,另一个用于 y 轴上的值:

实例

import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])

plt.scatter(x, y)
plt.show()

  

显示结果如下:

 

使用随机数来设置散点图:

实例

 import  numpy as np  import  matplotlib.pyplot as plt  #  随机数生成器的种子 
np.random.seed(19680801 )


N
= 50 x = np.random.rand(N)
y
= np.random.rand(N)
colors
= np.random.rand(N)
area
= (30 * np.random.rand(N))**2 # 0 to 15 point radii plt.scatter(x, y, s =area, c=colors, alpha=0.5) # 设置颜色及透明度 plt.title( " RUNOOB Scatter Test " ) # 设置标题 plt.show()

 

显示结果如下:

颜色条 Colormap

Matplotlib 模块提供了很多可用的颜色条。

颜色条就像一个颜色列表,其中每种颜色都有一个范围从 0 到 100 的值。

下面是一个颜色条的例子:

设置颜色条需要使用 cmap 参数,默认值为 'viridis',之后颜色值设置为 0 到 100 的数组。

实例

 import  matplotlib.pyplot as plt  import  numpy as np

x
= np.array([5,7,8,7,2,17,2,9,4,11,12,9,6 ])
y
= np.array([99,86,87,88,111,86,103,87,94,78,77,85,86 ])
colors
= np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100 ])

plt.scatter(x, y, c
=colors, cmap= ' viridis ' )

plt.show()

 

显示结果如下:

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

实例

 import  matplotlib.pyplot as plt  import  numpy as np

x
= np.array([5,7,8,7,2,17,2,9,4,11,12,9,6 ])
y
= np.array([99,86,87,88,111,86,103,87,94,78,77,85,86 ])
colors
= np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100 ])

plt.scatter(x, y, c
=colors, cmap= ' viridis ' )

plt.colorbar()

plt.show()

 

显示结果如下:

 

九、Matplotlib 柱形图

我们可以使用 pyplot 中的 bar() 方法来绘制柱形图。

bar() 方法语法格式如下:

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

参数说明:

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

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

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

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

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

**kwargs: :其他参数。

以下实例我们简单实用 bar() 来创建一个柱形图:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

x
= np.array([ " Runoob-1 " , " Runoob-2 " , " Runoob-3 " , " C-RUNOOB " ])
y
= np.array([12, 22, 6, 18 ])

plt.bar(x,y)
plt.show()

 

显示结果如下:

垂直方向的柱形图可以使用  barh() 方法来设置:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

x
= np.array([ " Runoob-1 " , " Runoob-2 " , " Runoob-3 " , " C-RUNOOB " ])
y
= np.array([12, 22, 6, 18 ])

plt.barh(x,y)
plt.show()

 

显示结果如下:

 

自定义各个柱形的颜色:

实例

 import  matplotlib.pyplot as plt  import  numpy as np

x
= np.array([ " Runoob-1 " , " Runoob-2 " , " Runoob-3 " , " C-RUNOOB " ])
y
= np.array([12, 22, 6, 18 ])

plt.bar(x, y, color
= [ " #4CAF50 " , " red " , " hotpink " , " #556B2F " ])
plt.show()

 

显示结果如下:

设置柱形图宽度, bar()  方法使用  width  设置, barh()  方法使用  height  设置 height

实例



 import  matplotlib.pyplot as plt 标签: python

添加新评论