jupyter定制数学函数

python 复制代码
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方法创建一个绘图区对象ax
    fig.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)        
python 复制代码
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方法:

相关推荐
witkey_ak98964 分钟前
python 可迭代对象相关知识点
开发语言·python
站大爷IP11 分钟前
Python生成器与迭代器:从内存优化到协程调度的深度实践
python
二闹35 分钟前
Python打印值的两种写法,到底有啥不同?
python
站大爷IP44 分钟前
Python构建MCP服务器:从工具封装到AI集成的全流程实践
python
无你想你1 小时前
利用vscode时进行调试,即使设置justMyCode为False仍然失败,如何解决?
ide·vscode·编辑器·justmycode
深盾安全3 小时前
Python 装饰器详解
python
前端小趴菜053 小时前
python - 数据类型转换
python
跟橙姐学代码3 小时前
学Python必须迈过的一道坎:类和对象到底是什么鬼?
前端·python
卡洛斯(编程版4 小时前
(1) 哈希表全思路-20天刷完Leetcode Hot 100计划
python·算法·leetcode
FreakStudio4 小时前
一文速通 Python 并行计算:教程总结
python·pycharm·嵌入式·面向对象·并行计算