猫史档案馆


【Python作品分享】函数绘图1.1.2【作品秀】

用户:记得开心1点-yGo记得开心1点-yGo查看:0 回复:0 评论:0 创建时间:2023-06-21T08:45:39


【作品展示】

center_image

 

【作品介绍】

相较于函数绘图1.1.1

解决了函数绘图y轴刻度糊在一起的问题

作者:符海洲

微信交流:lovediaoTang

编写时间2023年06月21日

 

【作品源代码】

import numpy as np                  
import matplotlib.pyplot as plt        

plt.rcParams['font.sans-serif'] = ['SimHei']       
plt.title('函数图像')          

a1 = A = 0        
a2 = []        
i = eval(input('输入函数的最高次数='))

if i >=0:
  print('当前函数:一元', i, '次函数')
  x = eval(input('最高次项系数='))
  while a1 < i:         
    a1 = a1+1
    a2.append(x)          
    if i==a1:               
        a4 = eval(input("常数项="))
        A1 = np.arange(-10, 10, 0.1)    
        plt.plot(A1, A1-A1, color='k')         
        for a3 in a2:                 
            for i1 in range(i, 0, -1):      
                A = a3*A1**(i1)+A+a4       
        if 1==i%2:
             A3 = np.arange(-abs(max(A)),max(A), i*np.mean(A))
        else:
            A3 = np.arange(-abs(max(A)), max(A),np.mean(A))
        plt.xticks(np.arange(-10, 10, 2)) and plt.yticks(A3)
        plt.plot(A1, A)
        plt.plot(A3-A3, A3, color='k')     
        plt.legend(['f(x)', "横轴", '纵轴'])  
    else:
        print('第', a1, '项系数请输入 (注意:此项次数为', i-a1, ')')
        x = eval(input('系数='))
else:
    print('当前函数为:', -i, '次反比例函数')
    x = eval(input('系数='))
    
    A1= np.arange(0.01, 1, 0.001)    
    plt.plot(A1, (x/A1)**(-i))
    A2 = np.arange(-1, -0.01, 0.001)
    plt.plot(A2, (x/A2)**(-i))
    
    Amin=np.min((x/A2)**(-i))
    Amax=np.max((x/A1)**(-i)) 
    
    plt.xticks(np.arange(-0.8, 0.8, 0.2))
    plt.yticks(np.arange(Amin,Amax,2*(Amin+Amax)))

    A3=np.arange(Amin,Amax,(Amin+Amax)/4)
    A4 = np.arange(-0.8, 0.8, 0.01)
    
    plt.plot(A4, A4-A4, color='k')     
    plt.plot(A3-A3, A3, color='k')
    plt.legend(['f(x)且x>0', 'f(x)且x<0', "横轴", '纵轴'])

plt.show()   

#编写兼构思:符海洲
#编写时间:2023年/06月/20日

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页