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()
上一篇: 属性列表
下一篇: canvas绘制动态图片