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

相关推荐
疯一样的码农1 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
进击的六角龙1 小时前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
一只爱好编程的程序猿1 小时前
Java后台生成指定路径下创建指定名称的文件
java·python·数据下载
Aniay_ivy1 小时前
深入探索 Java 8 Stream 流:高效操作与应用场景
java·开发语言·python
gonghw4032 小时前
DearPyGui学习
python·gui
会发光的猪。2 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
向阳12182 小时前
Bert快速入门
人工智能·python·自然语言处理·bert
engchina2 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
兆。2 小时前
掌握 PyQt5:从零开始的桌面应用开发
开发语言·爬虫·python·qt
南宫理的日知录2 小时前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习