Python如何实现数据可视化绘图?

2026-06-11 10:471阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1102个文字,预计阅读时间需要5分钟。

Python如何实现数据可视化绘图?

1. 保存图像pythonfig.savefig()

2. 创建画布pythonfig, ax=plt.subplots()

3. 创建画布和坐标轴pythonfig, ax=plt.subplots()

4. Matplotlib中的plt.figure类pythonplt.figure() 可查看一个容纳多种坐标轴、图形、文字和标签的容器。

5. plt.Axes类pythonplt.Axes 是一个带有刻度和标签的矩阵。

1、保存图片。

fig.savefig

一、创建画布

1、创建画布和坐标轴

在Matplotlib中,plt.figure类可以看做一个能够容纳各种坐标轴、图形、文字和标签的容器。plt.Axes类是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素。

此处,fig代表一个图例,ax表示一个坐标轴实例或一组坐标轴实例。

%matplotlib inline import matplotlib.pyplot as plt fig = plt.figure() ax = plt.axes() x = np.linspace(0,10,1000) ax.plot(x, np.sin(x))

2、面向对象风格接口

#面向对象的风格 #创建图形网络 #ax是一个包含两个Axes对象的数组,即有两个坐标轴 fig,ax = plt.subplots(2) #在每个Axes对象上调用的plot()方法,分别绘制sin()和cos() ax[0].plot(x, np.sin(x)) ax[1].plot(x, np.cos(x))

3、Matlab风格接口

plt.figure()#创建图形 #Matlib风格接口 #创建两个子图中的第一个,设置坐标轴,等于fig,ax=plt.subplot() plt.subplot(2, 1, 1) plt.plot(x, np.sin(x)) #创建两个子图中的第一个,设置坐标轴 plt.subplot(2, 1, 2) plt.plot(x, np.cos(x))

二、坐标轴和线条调整

1、调整线条颜色和样式

线条样式:

‘-‘ solid line style
‘--‘ dashed line style
‘-.‘ dash-dot line style
‘:‘ dotted line style

Python如何实现数据可视化绘图?

颜色:

‘.‘ point marker
‘,‘ pixel marker
‘o‘ circle marker
‘v‘ triangle_down marker
‘^‘ triangle_up marker
‘<‘ triangle_left marker
‘>‘ triangle_right marker
‘1‘ tri_down marker
‘2‘ tri_up marker
‘3‘ tri_left marker
‘4‘ tri_right marker
‘s‘ square marker
‘p‘ pentagon marker
‘*‘ star marker
‘h‘ hexagon1 marker
‘H‘ hexagon2 marker
‘+‘ plus marker
‘x‘ x marker
‘D‘ diamond marker
‘d‘ thin_diamond marker
‘|‘ vline marker
‘_‘ hline marker

plt.axhline(y=1, ls=‘.‘, c-‘yellow‘)#增加水平线

plt.axvline(x=1,ls=‘-‘,c=‘red‘) #增加垂直线

2、调整坐标轴

(1)调整坐标轴上下限:

plt.xlim() #等价于ax.set_xlim()

plt.ylim() #等价于ax.set_ylim()

plt.axis([xmin, xmax, ymin, ymax])

(2)设置图形标签

plt.title() #设置图形标题,等价于ax.set_title()

plt.xlabel(), plt.ylabel() #设置X,Y轴标题,等价于ax.set_xlabel(), ax.set_ylabel()

(3)配置图例

plt.legend() #创建图例

ax.legend(frameon=False, loc=‘epper left‘)

#选择图例显示的元素 #方式一 plt.legend(lines[:2], [‘first‘,‘second‘]) #方式二 plt.plot(x, y[:,0], label=‘frist‘) plt.plot(x, y[:,1], label=‘second‘) plt.plot(x,y[:,2:]) plt.legend(gramealpha=1,frameon=True)#默认情况下会忽略那些不带标签的元素

三、多子图

1、图中图

plt.axes([bottom, left, width, height] #[底坐标,坐坐标,宽度,高度]

#xample1 ax1 = plt.axes() ax2 = plt.axes([0.65, 0.65, 0.2, 0.2]) #example2 fig = plt.figure() ax1 = fig.add_axes([0.1, 0.5, 0.8, 0.4], xticklabels=[], ylim=(-1.2, 1.2)) ax2 = fig.add_axes([0.1, 0.1, 0.8, 0.4], ylim=(-1.2, 1.2)) x = np.linspace(0, 10) ax1.plot(np.sin(x)) ax2.plot(np.cos(x))

2、简易网格子图

plt.subplot(行数,列数,索引值)

for i in range(1,7):
  plt.subplot(2,3,i)
  plt.text(0.5, 0.5, str((2,3,i)),
      fontsizt=18, ha=‘center‘)

fig = plt.figure() #plt.subplot_adjust可以调整子图之间的间隔 fig.subplots_adjust(hspace=0.4, wspace=0.4) for i in range(1,7): ax=fig.add_subplot(2, 3, i)
   ax.text(0.5, 0.5, str((2,3,i)),
      fontstze=18, ha=‘center‘)

等价于

plt.subplots(2, 3, sharex=‘col‘, sharey=‘row‘)

#比较subplot & subplots

#subplots_addjust

四、文字与注释

ax.text():文字注释

ax.transData:用x轴与y轴标签作为数据坐标 ax.transAxes:以坐标轴左下角为原点,按照坐标轴尺寸的比例呈现坐标. fig.transFigure:以图形左下角为原点,按照图形尺寸的比例呈现坐标。 fig, ax = plt.subplots(facecolor=‘lightgray‘) ax.axis([0, 10, 0, 10]) ax.text(1, 5, ".data:(1,5)", transform=ax.transData) ax.text(0.5, 0.2, ".Axes:(0.5, 0.2)", transform=ax.transAxes) ax.text(0.5, 0.2, ".Figure:(0.5, 0.2)", transform=fig.transFigure)

plt.annotate():创建箭头

参考:《Python数据科学手册》

本文共计1102个文字,预计阅读时间需要5分钟。

Python如何实现数据可视化绘图?

1. 保存图像pythonfig.savefig()

2. 创建画布pythonfig, ax=plt.subplots()

3. 创建画布和坐标轴pythonfig, ax=plt.subplots()

4. Matplotlib中的plt.figure类pythonplt.figure() 可查看一个容纳多种坐标轴、图形、文字和标签的容器。

5. plt.Axes类pythonplt.Axes 是一个带有刻度和标签的矩阵。

1、保存图片。

fig.savefig

一、创建画布

1、创建画布和坐标轴

在Matplotlib中,plt.figure类可以看做一个能够容纳各种坐标轴、图形、文字和标签的容器。plt.Axes类是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素。

此处,fig代表一个图例,ax表示一个坐标轴实例或一组坐标轴实例。

%matplotlib inline import matplotlib.pyplot as plt fig = plt.figure() ax = plt.axes() x = np.linspace(0,10,1000) ax.plot(x, np.sin(x))

2、面向对象风格接口

#面向对象的风格 #创建图形网络 #ax是一个包含两个Axes对象的数组,即有两个坐标轴 fig,ax = plt.subplots(2) #在每个Axes对象上调用的plot()方法,分别绘制sin()和cos() ax[0].plot(x, np.sin(x)) ax[1].plot(x, np.cos(x))

3、Matlab风格接口

plt.figure()#创建图形 #Matlib风格接口 #创建两个子图中的第一个,设置坐标轴,等于fig,ax=plt.subplot() plt.subplot(2, 1, 1) plt.plot(x, np.sin(x)) #创建两个子图中的第一个,设置坐标轴 plt.subplot(2, 1, 2) plt.plot(x, np.cos(x))

二、坐标轴和线条调整

1、调整线条颜色和样式

线条样式:

‘-‘ solid line style
‘--‘ dashed line style
‘-.‘ dash-dot line style
‘:‘ dotted line style

Python如何实现数据可视化绘图?

颜色:

‘.‘ point marker
‘,‘ pixel marker
‘o‘ circle marker
‘v‘ triangle_down marker
‘^‘ triangle_up marker
‘<‘ triangle_left marker
‘>‘ triangle_right marker
‘1‘ tri_down marker
‘2‘ tri_up marker
‘3‘ tri_left marker
‘4‘ tri_right marker
‘s‘ square marker
‘p‘ pentagon marker
‘*‘ star marker
‘h‘ hexagon1 marker
‘H‘ hexagon2 marker
‘+‘ plus marker
‘x‘ x marker
‘D‘ diamond marker
‘d‘ thin_diamond marker
‘|‘ vline marker
‘_‘ hline marker

plt.axhline(y=1, ls=‘.‘, c-‘yellow‘)#增加水平线

plt.axvline(x=1,ls=‘-‘,c=‘red‘) #增加垂直线

2、调整坐标轴

(1)调整坐标轴上下限:

plt.xlim() #等价于ax.set_xlim()

plt.ylim() #等价于ax.set_ylim()

plt.axis([xmin, xmax, ymin, ymax])

(2)设置图形标签

plt.title() #设置图形标题,等价于ax.set_title()

plt.xlabel(), plt.ylabel() #设置X,Y轴标题,等价于ax.set_xlabel(), ax.set_ylabel()

(3)配置图例

plt.legend() #创建图例

ax.legend(frameon=False, loc=‘epper left‘)

#选择图例显示的元素 #方式一 plt.legend(lines[:2], [‘first‘,‘second‘]) #方式二 plt.plot(x, y[:,0], label=‘frist‘) plt.plot(x, y[:,1], label=‘second‘) plt.plot(x,y[:,2:]) plt.legend(gramealpha=1,frameon=True)#默认情况下会忽略那些不带标签的元素

三、多子图

1、图中图

plt.axes([bottom, left, width, height] #[底坐标,坐坐标,宽度,高度]

#xample1 ax1 = plt.axes() ax2 = plt.axes([0.65, 0.65, 0.2, 0.2]) #example2 fig = plt.figure() ax1 = fig.add_axes([0.1, 0.5, 0.8, 0.4], xticklabels=[], ylim=(-1.2, 1.2)) ax2 = fig.add_axes([0.1, 0.1, 0.8, 0.4], ylim=(-1.2, 1.2)) x = np.linspace(0, 10) ax1.plot(np.sin(x)) ax2.plot(np.cos(x))

2、简易网格子图

plt.subplot(行数,列数,索引值)

for i in range(1,7):
  plt.subplot(2,3,i)
  plt.text(0.5, 0.5, str((2,3,i)),
      fontsizt=18, ha=‘center‘)

fig = plt.figure() #plt.subplot_adjust可以调整子图之间的间隔 fig.subplots_adjust(hspace=0.4, wspace=0.4) for i in range(1,7): ax=fig.add_subplot(2, 3, i)
   ax.text(0.5, 0.5, str((2,3,i)),
      fontstze=18, ha=‘center‘)

等价于

plt.subplots(2, 3, sharex=‘col‘, sharey=‘row‘)

#比较subplot & subplots

#subplots_addjust

四、文字与注释

ax.text():文字注释

ax.transData:用x轴与y轴标签作为数据坐标 ax.transAxes:以坐标轴左下角为原点,按照坐标轴尺寸的比例呈现坐标. fig.transFigure:以图形左下角为原点,按照图形尺寸的比例呈现坐标。 fig, ax = plt.subplots(facecolor=‘lightgray‘) ax.axis([0, 10, 0, 10]) ax.text(1, 5, ".data:(1,5)", transform=ax.transData) ax.text(0.5, 0.2, ".Axes:(0.5, 0.2)", transform=ax.transAxes) ax.text(0.5, 0.2, ".Figure:(0.5, 0.2)", transform=fig.transFigure)

plt.annotate():创建箭头

参考:《Python数据科学手册》