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方法:

相关推荐
七颗糖很甜6 小时前
电离层对地基雷达测量精度的影响分析与校正方法
python
白云LDC6 小时前
Android Studio新建Vecter asset一直显示Loading icons(转圈圈)的解决办法
android·ide·android studio
AC赳赳老秦6 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
小熊Coding7 小时前
Python2D射击冒险闯关游戏2.0版本
python·pygame
An_s7 小时前
编辑器AI工具(vscode+claude)
ide·vscode·编辑器
FYKJ_20107 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
yanghuashuiyue9 小时前
Deep Agents 框架-CLI
python·langchain·langgraph·deepagents
Zik----9 小时前
DAEFR (ICLR 2024)— 盲脸超分模型解读
人工智能·python·高光谱图像·光谱恢复
头发够用的程序员10 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
夜猫逐梦10 小时前
【逆向经验】一篇文章讲透为什么CE搜不到Python游戏的内存值
开发语言·python·游戏