欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python库之matplotlib

程序员文章站 2022-03-09 20:10:56
...

一、简单的绘图流程

1、通过figure()函数创建画布,可以在创建时 更改画布的背景颜色,背景颜色可以有助于子图坐标及坐标轴的显示
2、通过add_subplot()函数在 画布上进行子图的创建,将原有的单个画布分割为多个子图,并进行区域的选取
3、通过其它函数对坐标轴和标签进行相应的处理,详细的内容见后文的代码

import matplotlib.pyplot as plt
import numpy as np

#生成画布,并设置画布的背景颜色为灰色
fig = plt.figure(facecolor = 'gray')

#将画布分成2*2的四块区域从左上到右下,“221”表示2*2中的第1块区域
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)

#对子图的坐标轴进行命名
ax1.set_xlabel('Value_X')
ax1.set_ylabel('Value_Y')

#对子图坐标轴的名称进行颜色的设置
ax1.xaxis.label.set_color('red')
ax1.yaxis.label.set_color('red')

#子图坐标轴刻度的范围进行设置,具体根据绘制的函数进行确定
x_ticks = np.linspace(-1,2,5)
ax1.xticks(x_ticks)
y_ticks = np.linspace(1,2,5)
#将每个数值刻度改为对应的其他字符
ax1.yticks(y_ticks,['one','two','three','four','five'])

#对坐标轴的轴线进行颜色的设置
ax1.spines['bottom'].set_color('red')
ax1.spines['left'].set_color('red')

#对坐标轴的轴线刻度进行设置
ax1.tick_params(axis = 'x',colors = 'red')
ax1.tick_params(axis = 'y',colors = 'red')

#绘制散点图和线性图
x = np.linspace(1,2,10)
y = x**2
ax1.scatter(x,y,c='r',marker='+')
ax1.plot(x,y,color='blue',linewidth=1.0,linestyle='--')
plt.show()

二、常见懵B函数

  • 1、colorConverter()函数
    from matplotlib.colors import colorConverter

  • 2、ListedColormap()函数
    from matplotlib.colors import ListedColormap

3、contourf()函数
(1)matplotlib.pyplot.contourf()函数是画三维等高线图的,并对等高线间的区域进行填充
(2)contourf(x,y,z,cmap),个人的理解为x和y分别表示两个等长的坐标矩阵,z为(x,y)点所映射的值,z = f(x,y),可以把x、y、z看作为三维矩阵,cmap对映射不同的等高值进行上色。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
x=np.array([1,2])
y=np.array([1,2])
z=np.array([[1,2],[2,3]])
plt.xlim(1,2)
plt.ylim(1,2)
colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')
cmap = ListedColormap(colors[:len(np.unique(z))])
plt.contourf(x,y,z,cmap=cmap)   
plt.show()

python库之matplotlib

相关标签: Python库