from math import * #导入绘图模块
import numpy as np #导入数值计算模块
import matplotlib.pyplot as plt #导入绘图模块
plt.rcParams['font.sans-serif']=['SimHei'] #绘图中文
plt.rcParams['axes.unicode_minus']=False #绘图负号
import mpl_toolkits.axisartist as axisartist #导入坐标轴加工模块def elementary_func_draw(X, expr): #定义绘制函数图形的函数,其中x是自变量,y为因变量#X=np.linspace(-10, 10, 100) #自变量Y=list(map(lambda x:eval(expr), X)) fig=plt.figure(figsize=(4, 4)) #新建画布ax=axisartist.Subplot(fig, 111) #使用axisartist.Subplot方法创建一个绘图区对象axfig.add_axes(ax) #将绘图区对象添加到画布中ax.plot(X, Y, label=expr) #绘制函数图形 ax.axis[:].set_visible(False) #隐藏原来的实线矩形ax.axis["x"]=ax.new_floating_axis(0, 0, axis_direction="bottom") #添加x轴ax.axis["y"]=ax.new_floating_axis(1, 0, axis_direction="bottom") #添加y轴 ax.axis["x"].set_axisline_style("->", size=1.0) #给x坐标轴加箭头ax.axis["y"].set_axisline_style("->", size=1.0) #给y坐标轴加箭头plt.xlim(-max(X), max(X)) #设置横坐标范围plt.ylim(-max(Y), max(Y)) #设置纵坐标范围 ax.text(-1.0, max(Y), 'y', fontsize=12) #标注y轴ax.annotate(text='x', xy=(max(X), 0), xycoords='data', xytext=(+0, +5), textcoords='offset points', fontsize=12) #标注x轴plt.legend()plt.show()plt.savefig("func_figure.png")if __name__=="__main__":while True: expr=input("请输入函数表达式(quit退出循环):")if "quit" in expr:break elif "log" in expr: #画对数函数X=np.linspace(0.001, 10, 100)elif "asin" in expr: #画反正弦函数X=np.linspace(-1, 1, 100)elif "acos" in expr: #画反余弦函数X=np.linspace(-1, 1, 100)else:X=np.linspace(-10, 10, 100)elementary_func_draw(X, expr)
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
x=np.linspace(10,100,num=1000,endpoint=True)
y=np.multiply(10,x)
y1=np.multiply(5,x)
y2= x ** 2
#显示网格
plt.grid()
plt.plot (x,y)
plt.plot (x,y1)
plt.plot (x,y2)
启动jupyter方法: