matplotlib基本语法


导入

import matplotlab.pyplot as plt

画图步骤

定义x:x=np.linspace(-1,1,100)
定义y:y=2*x+1
自定义一个图像plt.figure() #几个figure几个图
导入函数:plt.plot(x,y) #只写这一句话,也会画图,但是会报错,加上plt.show不报错
展示plt.show() #单独执行没有效果

import matplotlib.pyplot as plt #导入matplotlib的python绘图包,用plt简写
import numpy as np #导入numpy包,简写为np
x=np.linspace(-1,1,100) #从-1到1等间隔地生成100个数据赋予x
y=2*x+1 #生成一个函数
plt.plot(x,y) #把这个函数导入
plt.show() #画出这个函数的图像

参数

figure参数

plt.figure(figsize=(x,y))定义图像大小

plot参数

plt.plot(x,y,color='red',linewide=1.0,linestyle='--')
将图线颜色改为红色,
粗细程度设置为1.0,
线条样式改为虚线(‘-’代表实线,‘--’代表虚线)

x = np.linspace(-1,1,100)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')
plt.plot(x,y2,color='blue',linewidth=5.0,linestyle='-')
plt.show()

xlim,ylim参数

plt.xlim((-1,2)) #把x的范围限制在-1到2
plt.ylim((-2,3)) #把y的范围限制在-2到3

xlable参数

plt.xlabel('I AM X') #把x轴的标签设置为 I AM X
plt.ylabel('I AM Y') #把Y轴的标签设置为 I AM Y

xtick,ytick参数

new_ticks = np.linspace(-2,2,11)#从-2到2等距选取11个点(-2,-1.6....1.6,2)并赋予new_ticks变量,返回一个列表
plt.xticks(new_ticks) #将此列表设置为x轴的单位长度

plt.yticks([-1,0,1,2,3],['level1','level2','level3','level4','level5']) #用levelx代替x显示,使可读性增加

x = np.linspace(-3,3,100)
y1 = 2*x + 1
y2 = x**2

#xy范围
plt.xlim((-1,2))
plt.ylim((-2,3))

#xy描述
plt.xlabel('I AM X')
plt.ylabel('I AM Y')

plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')
plt.plot(x,y2,color='blue',linewidth=5.0,linestyle='-')

plt.xticks(new_ticks)
plt.yticks([-1,0,1,2,3],
           ['level1','level2','level3','level4','level5'])
plt.show()

函数

ax = plt.gca() #获取当前的坐标轴,保存为ax变量
ax.spines['right'].set_color('red')#将右边框设置为红色 spine选项中(right右left左top上bottom下)set_color选项设置为none隐藏此边框

ax.xaxis.set_ticks_position('bottom') #将平面直角坐标系的x轴设置为bottom
ax.xaxis.set_ticks_position('left') #将平面直角坐标系的y轴设置为left

创建一个交点为(0,0)的坐标系

设置bottom对应到0点

设置left对应到0点

ax.ines['bottom'].set(('data',0))
ax.spines['left'].set(('data',0))