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

matplotlib笔记

程序员文章站 2022-03-01 21:39:39
...

绘图基础

matplotlib相应模块(package, module) 的导入

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

基础线图plt.plot()

X = np.arange(0, 12.1, 0.1)
Y = np.sin(X)
plt.plot(X, Y)

线的设置

简单设置颜色与线型

plt.plot(X, Y, 'r') #线是红的
plt.plot(X, Y, 'r--') #线是红的、虚线
plt.plot(X, Y, 'r:') #线是红的、点虚线
plt.plot(X, Y, 'r-.') #线是红的、线点虚线
plt.plot(X, Y, color = 'lime', linestyle = '-.', linewidth = 2) #复杂颜色和线型

点的设置

设置点型
代码换行(\+回车)

plt.plot(X, Y, color='lime', linestyle='-.', \
linewidth=2, marker='v', markerfacecolor='black', \
markeredgecolor='red', markersize=3, markeredgewidth=1)\
#设置点外边的形状、中心颜色、边界颜色、点的大小、边的粗细 

绘制散点图 方法一

plt.scatter(X, Y)

绘制散点图 方法二

plt.plot(X, Y, color='lime', linestyle='', \
linewidth=2, marker='v', markerfacecolor='black', \
markeredgecolor='red', markersize=3, markeredgewidth=1)\
#把linestyle设置成空

字的设置

#获取坐标轴
ax1 = plt.gca()
#设置标题(包括字体,字体大小,粗细,斜体)
ax1.set_title('Big title', fontname='Arial', fontsize=20\
weight='bold', style='italic')
#设置x,y轴标签
ax1.set_xlabel('time(UTC)')
#使用LaTeX语法
ax1.set_ylabel('T($^o$C)')#$/mu$是μ,$^o$是摄氏度小圈

刻度的设置

设置刻度的位置

ax1.set_xticks([0, 2.5, 7, 11])

设置刻度的标签

ax1.set_xticklabels(['J', 'A', 'N', 'F'])

设置刻度的方向、颜色、大小

ax1.tick_params(axis='both', direction='in', color='blue', \
length=10, width=2)

多线条的设置

多条线的绘制
关闭冗余的文字输出信息

将以上plot对象赋值给一个变量

添加图例、设置位置

plt.plot(X, Y, label='Normal')
plt.plot(X+2, Y, label='Strange')
plt.legend(loc='best')#设置图例位置,best、lower left、upper right

设置图层顺序

通过zorder来设置,数值越大,越靠外

plt.plot(X, Y, color='lime', linestyle='', \
linewidth=2, marker='v', markerfacecolor='black', \
markeredgecolor='red', markersize=3, markeredgewidth=1, label='Normal', zorder=2)

坐标轴的设置

子图的设置subplot

fig, ax = plt.subplots(2, 1)
ax[1].plot(X, Y)
ax[0].plot(X+2, Y, 'r')
#坐标轴的范围
ax[0].set_xlim([0, 10])
ax[1].set_xlim([0, 10])

设置指数坐标轴

ax.set_yscale('log')

设置双坐标轴

ax2 = ax.twinx()
ax3 = ax2.twiny()
ax3.plot(X, Y, 'ro')

保存的设置

保存到png图片

plt.savefig('./Big Title.png')

防止图片部分缺失 方法一 增大画布

fig = plt.figure(figsize=(8,4))

防止图片部分缺失 方法二 紧致布局

plt.tight_layout()

设置保存分辨率

fig = plt.figure(figsize=(4,4), dpi=400)