Matplotlib基本参数设置
⽂章⽬录
Matplotlib基本参数设置
1. 添加图标题,坐标轴标题,图例
添加图标题有plt.xlabel()和axes.set_xlabel()⽅法,添加坐标轴标题和图例也基本类似,其中注意的是绝⼤多数的 plt 函数都可以直接转换成 axes ⽅法(例如 plt.plot() → axes.plot()、 plt.legend() → axes.legend() 等),但是并⾮所有的命令都可以这样⽤。尤其是⽤来设置坐标轴上下限、坐标轴标题和图形标题的函数,它们⼤都稍有差别。⼀些 MATLAB 风格的⽅法和⾯向对象⽅法的转换如下所⽰:
plt.xlabel() → axes.set_xlabel()
plt.ylabel() → axes.set_ylabel()
plt.xlim() → axes.set_xlim()
plt.ylim() → axes.set_ylim()
plt.title() → axes.set_title()
绘制包含图标题、坐标轴标题以及图例的图形,举例如下:
(1)使⽤plt.xlabel()⽅法:
代码⼀:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,20)
plt.xlabel("x")# 添加横轴名称
plt.ylabel("sin(x)")# 添加纵轴名称
plt.title("A Sine Curve")# 添加图形名称
plt.plot(x,np.sin(x))
plt.legend(["y = sin(x)"],loc=0)# 添加图例
结果:
(2)使⽤axes.set_xlabel() ⽅法
代码⼆:
import matplotlib.pyplot as plt
x = np.linspace(0,10,20)
fig, axes = plt.subplots()
axes.set_xlabel('x label')# 横轴名称
axes.set_ylabel('y label')# 纵轴名称
axes.set_title('title')# 图形名称
axes.plot(x, x**2)
axes.plot(x, x**3)
axes.legend(["y = x**2","y = x**3"], loc=0)# 图例
结果:
legend最常⽤的参数loc,⽤来设置图例的位置,其参数如下表:
2.添加坐标轴范围,画布⽹格
(1)使⽤plt.xlim()⽅法
代码⼀:
import matplotlib.pyplot as plt
import numpy as np
plt.xlim(-1,12)# 设置x轴的范围
plt.ylim(-2,2)# 设置y轴的范围
plt.plot(x,np.sin(x))
结果:
(2)使⽤ axes.set_xlim()⽅法
代码⼆:
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(1,2, figsize=(10,5))
axes[0].plot(x, x**2, x, x**3, lw=2)
axes[0].grid(True)# 显⽰⽹格
axes[1].plot(x, x**2, x, x**3)
axes[1].set_ylim([0,60])# 设置y轴范围
axes[1].set_xlim([1,5])# 设置x轴范围
结果:
3.添加图形标注
Matplotlib 中,⽂字标注的⽅法由 () 实现。最基本的样式为 (x, y, s),其中 x, y ⽤于标注位置定位,s 代表标注的字符串。
代码:
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots()
x_bar =[10,20,30,40,50]# 柱形图横坐标
y_bar =[0.5,0.6,0.2,0.7,0.3]# 柱形图纵坐标
bars = axes.bar(x_bar, y_bar, color='red', label=x_bar, width=3)# 绘制柱形图
for i, rect in enumerate(bars):
x_text = _x()# 获取柱形图横坐标
y_text = _height()+0.01# 获取柱⼦的⾼度并增加 0.01
<(x_text, y_text,'%.1f'% y_bar[i])# 标注⽂字
结果:
4. 改变横坐标和纵坐标上的刻度(ticks)
xticks()函数原型:
xticks(ticks,[labels],**kwargs)
参数说明:
ticks:数组类型,⽤于设置X轴刻度间隔
[labels]:数组类型,⽤于设置每个间隔的显⽰标签
**kwargs:⽤于设置标签字体倾斜度和颜⾊等外观属性。
例如下图,X轴间隔2显⽰⼀个刻度,由ticks参数设置
X轴上的数字1、2、3、4、5就称为标签,具体显⽰内容由labels参数决定
原图如下:
代码:
import matplotlib.pyplot as plt
import numpy as np
x =[1,2,3,4,5]
y =[6,10,11,8,15]
plt.bar(x,y,width=0.5,align="center",color="r")
结果:
修改x轴的标签为1-5⽉的5个⽉份,y轴间隔为3的代码如下。
代码:
import matplotlib.pyplot as plt
import numpy as np
x =[1,2,3,4,5]
y =[6,10,11,8,15]
plt.bar(x,y,width=0.5,align="center",color="r")
结果:
5.中⽂⽀持相关设置
(1)中⽂字体设置
font.family 字体的名称
SimHei 中⽂⿊体
FangSong 中⽂仿宋
STSong 华⽂宋体
Kaiti 中⽂楷体
LiSu 中⽂⾪书
代码如下:
(2)"-"(负号)特殊符号的相关设置
axes.unicode_minus 是否使⽤Unicode的负号,在⽀持中⽂显⽰状态下,需要设置为False。
代码如下:
代码:
import matplotlib as mpl
import matplotlib.pyplot as plt
matplotlib中subplot
plt.plot([-3,-1],[-1,-10],"r--")
plt.title("中⽂⽀持相关设置")
结果:
6.定义图形样式
plt.plot()函数⽤于对图形参数进⾏设置
plt.plot(x, y, format_string,**kwargs)
参数:
x:x轴数据,列表或数组,可选
y:y轴数据,列表或数组
format_string:控制曲线的格式字符串,可选,由颜⾊字符、风格字符和标记字符组成。
**kwargs:第⼆组或更多,(x,y,format_string)
颜⾊字符(color参数)说明颜⾊字符说明
'b ’蓝⾊’m‘洋红⾊magenta
‘g’绿⾊’y‘黄⾊
’r‘红⾊’k‘⿊⾊
’c‘青绿⾊ cyan’w‘⽩⾊‘#008000’RGB某颜⾊‘0.8’灰度值字符串
风格字符(linestyle参数)说明
‘-’实线
‘–’破折线
‘-.’点划线
‘:’虚线标记字符(marker参数)说明标记字符说明标记字符说明‘.’点标记‘1’下花三⾓标记‘h’竖六边形标记
‘,’像素标记(极⼩点)‘2’上花三⾓标记‘H’横六边形标记
‘o’实⼼圈标记‘3’左花三⾓标记‘+’⼗字标记
‘v’倒三⾓标记‘4’右花三⾓标记‘x’x标记
‘^’上三⾓标记‘s’实⼼⽅形标记‘D’菱形标记
‘>’右三⾓标记‘p’实⼼五⾓标记‘d’瘦菱形标记
‘<’左三⾓标记‘*’星形标记‘I’垂直线标记
常⽤参数
参数含义
alpha=设置线型的透明度,从 0.0 到 1.0
color=设置线型的颜⾊
fillstyle=设置线型的填充样式
linestyle=设置线型的样式
linewidth=设置线型的宽度
marker=设置标记点的样式
代码举例:
import matplotlib.pyplot as plt
plt.subplot(121)
plt.plot([6,2,9,13,-2],c="g",marker="v",ls="--")
plt.subplot(122)
plt.plot([-3,-1,5,8,12],[2,-6,10,6,9],c="r",marker="*",ls="-")
结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。