matplotlib 入门教程(一)
基本画图(线性)
一、MATLAB风格画图
#导入基本模块
import matplotlib.pyplot as plt
import numpy as np
#构造x的点,用于画图
x = np.linspace(0,10,100)
#定义画布
fig = plt.figure()
#创建2个子图中的第1个,设置坐标轴
plt.subplot(2,1,1) #(行,列,子图编号)
plt.plot(x,np.sin(x),'-')
#创建2个子图中的第2个,设置坐标轴
plt.subplot(2,1,2)
plt.plot(x,np.cos(x),'--')
二、面向对象画图
#导入基本模块
import matplotlib.pyplot as plt
import numpy as np
#构造x的点,用于画图
x = np.linspace(0,10,100)
#定义2个对象画布
fig,ax = plt.subplots(2)
#创建2个子图中的第1个,设置坐标轴
ax[0].plot(x,np.sin(x))
#创建2个子图中的第2个,设置坐标轴
ax[1].plot(x,np.cos(x))
图形基本属性
1.颜色
plt.plot(x,np.sin(x),color='red')
#color 属性值有如下几种形式:
#标准颜色名称:red,green
#缩写颜色代码:g,r
#范围在0-1的灰度
#十六进制:#FFDD44
#RGB元组:(1.0,0.2,0.3)
注:在不指定颜色的情况下,matplotlib 会自动分配一组颜色
2.线条风格
plt.plot(x,np.sin(x),linestyle='solid')
或者
plt.plot(x,np.sin(x),linestyle='-') #实线
注:支持的类型有以下几种 :
实线:'solid','-'
虚线:'--', '-.'
实点线:':', 'dotted'
点划线:'dashed', 'dashdot'
如果要同时设置,可以用如下简单方式创建:
plt.plot(x,np.sin(x),'-g')#创建绿色实线
3.设置坐标轴上下限
plt.xlim(min,max) # X轴上下限
plt.ylim(min,max) # Y轴上下限
或者直接按照下面设置
plt.axis([x_min,x_max,y_min,y_max])
4.图形布局设置
plt.axis('tight') # 收紧图形布局,按照图形大小自动适应,不留空白
plt.axis('equal') #设置X,Y轴单位长度相等
5.图形标题
plt.title('name') #标题设置为英文
6.坐标轴名称设置
plt.xlable('label_name') # X轴坐标
plt.ylable('label_name') # X轴坐标
7.图例设置
以sin(x)和cos(x)为例
plt.plot(x,np.sin(x),label='sin(x)')
plt.plot(x,np.cos(x),label='cos(x)')
plt.legend()
注:plt.legend() 函数不能忘记,否则不会显示图例
其它总结
上述属性均为MATLAB风格,如果用面向对象风格画图设置属性的时候需要可以用ax替换plt,比如ax.legend()等,但并不是所有的都适用,以下几个点需要小心:
有以下映射关系
plt.xlim()-->ax.set_xlim()
plt.ylim()-->ax.set_ylim()
plt.xlable()-->ax.set_xlable()
plt.ylable()-->ax.set_ylable()
plt.title()-->ax.set_title()
但是我们一般不会这样做,用一个set()函数可以将对象画图的所有属性一次性设置,如
ax.set(xlim=(0,1),ylim=(0,1),xlabel='x',ylabel='sin(x)',title='title')
以上为利用python matplotlib模块线性画图基本知识,如有错误请多谅解,及时指正,谢谢