基于matplotlib的数据可视化

1.  plt.figure() 函数

使用 plt.figure ()函数创建一个全局绘图区域,其中可包含如下参数:
  num :设置图像编号 
  figsize :设置图像的宽度和高度,单位为英寸
  facecolor :设置图像背景颜色
  dpi :设置绘图对象的分辨率
  edgecolor :设置图像边框颜色
   import matplotlib.pyplot as plt
   plt.figure(figsize=(6,4),facecolor=‘#ccc’)
   plt.show()

该代码创建了一个空白区域,大小为6*4,背景颜色为灰色。

2.plt.subplot()函数

用于在全局绘图区域中创建自绘图区域,其中可包含如下参数:
  nrows subplot 的行数
  ncols subplot 的列数
  sharex x 轴刻度
  sharey y 轴刻度
  使用 subplot 可以规划 figure 划分为 n 个子图,但每条 subplot 命令只会创建一个子图 。
    import matplotlib.pyplot as plt
    fig=plt.figure()
    fig1=fig.add_subplot(3,3,1)
    fig2=fig.add_subplot(3,3,2)
    fig3=fig.add_subplot(3,3,3)
    fig4=fig.add_subplot(3,3,4)
    fig5=fig.add_subplot(3,3,5)
    fig6=fig.add_subplot(3,3,6)
    fig7=fig.add_subplot(3,3,7)
    fig8=fig.add_subplot(3,3,8)
    fig9=fig.add_subplot(3,3,9)
    plt.show()

改代码用subplot划分子区域并显示所有子图:

基于matplotlib的数据可视化_第1张图片

3.plt.axes()函数:plt.axes(rect)创建一个坐标系风格的子绘图区域。默认创建一个subplot(111) 坐标系,参数rect=[left,bottom,width,height]4个变量的范围都是[0,1]

import matplotlib.pyplot as plt
#创建一个宽12,高6的空白图像区域
fig=plt.figure(figsize=(12,6))

##rect可以设置子图的位置与大小
rect1 = [0.10, 0.55, 0.65, 0.35] # [左, 下, 宽, 高] 规定的矩形区域 (全部是0~1之间的数,表示比例)
rect2 = [0.10, 0.10, 0.65, 0.35]
rect3 = [0.80, 0.10, 0.15, 0.80]

#在fig中添加子图ax,并赋值位置rect
ax1 = plt.axes(rect1)
ax2 = plt.axes(rect2)
ax3 = plt.axes(rect3)

plt.show()
plt.close()

基于matplotlib的数据可视化_第2张图片4.plt.subplots_adjust():用于调整子绘图区域的布局。常见语法如下:

 plt.subplots_adjust(left=,bottom=,right=,top=, hspace=)
   left: 画布中子图左边离 y 轴距离
   bottom: 画布中子图下边离 x 轴距离
   right: 画布中子图右边离 y 轴距离
   top: 画布中子图上边离 x 轴距离
   hspace: 子图之间的距离

 例如:plt.subplots_adjust(left=0.2,bottom=0.1,right=0.8,top=0.8, hspace=0.5)

5.plot相关函数

(1)绘制基本图表

基于matplotlib的数据可视化_第3张图片

代码如下: 

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()
(2)只想绘制两个坐标点,而不是一条线,可以使用 o 参数,表示一个实心圈的标记:
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()

 以上代码输出结果:

基于matplotlib的数据可视化_第4张图片

(3)绘制一条不规则线,坐标为 (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()

 输出结果:基于matplotlib的数据可视化_第5张图片

(4)绘制一个正弦和余弦图,代码如下:

基于matplotlib的数据可视化_第6张图片

6.绘图标记:使用 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')#marker值还可以是'*',"H"六边形,"_"横线等
plt.show()

 基于matplotlib的数据可视化_第7张图片

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

  • 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, mec = '#4CAF50', mfc = 'r')#定义标记的样式,大小,边                    框颜色,内部颜色
    plt.show()

    基于matplotlib的数据可视化_第8张图片

    7.绘图线:线的类型可以使用 linestyle 参数来定义,简写为 ls;线的颜色可以使用 color 参数来定义,可以简写为 c,线的宽度可以用linestyle表示

  • 基于matplotlib的数据可视化_第9张图片

    import matplotlib.pyplot as plt
    import numpy as np
    
    ypoints = np.array([6, 2, 13, 10])
    
    plt.plot(ypoints, linestyle = 'dotted')#也可简写为:linestyle = '·'
    plt.show()

     

    基于matplotlib的数据可视化_第10张图片

    7.绘制多条线

  • import matplotlib.pyplot as plt
    import numpy as np
    
    x1 = np.array([0, 1, 2, 3])
    y1 = np.array([3, 7, 5, 9])
    x2 = np.array([0, 1, 2, 3])
    y2 = np.array([6, 2, 13, 10])
    
    plt.plot(x1, y1, x2, y2)
    plt.show()

    基于matplotlib的数据可视化_第11张图片

    8.可以使用 xlabel()ylabel() 方法来设置 x 轴和 y 轴的标签,使用 title() 方法来设置标题 ,loc 参数来表示定位

  • 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("TEST TITLE")
    plt.xlabel("x - label",loc="left")
    plt.ylabel("y - label",loc="top")
    
    plt.show()

    基于matplotlib的数据可视化_第12张图片

    8.网格线:使用 pyplot 中的 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(color = 'r', linestyle = '--', linewidth = 0.5)
    
    plt.show()
    基于matplotlib的数据可视化_第13张图片

     

  •  

     

 

 

 

 

 

你可能感兴趣的:(可视化,信息可视化,matplotlib,python)