# __author__ = 'lzc'
# -*- coding: UTF-8 -*-
'''
主要内容:
1.与NUMPY结合,绘制一次/二次/指数函数,
2.去除边框,设定原定
3.添加曲线说明
numpy.linspace(start, stop, num=50),在start和stop之间返回均匀间隔的数据
start:返回样本数据开始点
stop:返回样本数据结束点
num:生成的样本数据量,默认为50
'''
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
#从[-1,1]的等差数列,
x = np.linspace(-1,1,100)
y1=2*x+1 #一次函数
y2=2*x**2+4*x+5 #二次函数
y3 = 2**x +1 #指数函数
# 设置matplotlib正常显示中文和负号
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号
plt.title('Numpy',fontsize=14) #标题
plt.xlabel('x轴',fontsize=14) #x轴标题
plt.ylabel('y轴',fontsize=14)#y轴标题
#输出2条曲线
plt.plot(x,y1,c='red',linewidth=2)
plt.plot(x,y2,
c='blue', #c为颜色设置
linewidth=2, #linewidth线条的粗细
linestyle='--') #线样式
plt.plot(x,y3,
c='green', #c为颜色设置
linewidth=2, #linewidth线条的粗细
linestyle='-.') #线样式
# 使用legend绘制多条曲线的标签
plt.legend(
labels = ['一次函数', '二次函数','指数函数'],
loc = 'best'
)
# gca = 'get current axis',将x/y轴去除边框,设定原定
ax = plt.gca()
# 将右边和上边的边框(脊)的颜色去掉
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 绑定x轴和y轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
# 定义x轴和y轴的位置
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
plt.show()
