基于matplotlib.pyplot画任意函数的图像

2020高考数学 理科一卷 导数题

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

# 画任意函数的图像
# 指定函数表达式
def function(x):
    return (x + 0.5 * np.power(x, 3) + 1 - np.power(np.e, x))/(x**2)
# 生成 data y
def generate_y_from_x(*args):
    y = [function(i) for i in args]
    return y
# 画函数图像, 区间为 [left, right)
def plot_function(left, right):
    np_x = np.arange(left, right, 0.01)
    list_x = np_x.tolist()
    y = generate_y_from_x(*list_x)

    plt.figure(1) # 创建画板1
    plt.subplot(111) # 进入111区域
    plt.plot(list_x, y, 'g', linewidth=2.5) 
    #设置坐标轴名称
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title('function')   # 指定111区域的图的标题
    plt.axis('equal')             # 指定111区域的 x, y比例为一比一
    plt.grid()                    # 111区域画格子

    plt.show()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要停止实时滚动折线图,可以使用`plt.pause(interval)`函数来暂停程序的执行,其中`interval`参数表示暂停的时间,单位为秒。例如,设置`interval=0`可以立即停止实时滚动。 具体实现方法如下: 1. 在每次更新数据后,添加一行代码`plt.draw()`,用于更新图像; 2. 在每次更新数据后,添加一行代码`if some_condition: plt.pause(0)`,其中`some_condition`为满足停止条件的逻辑表达式; 3. 如果需要在窗口中按下键盘或鼠标来停止实时滚动,可以使用`plt.waitforbuttonpress(timeout)`函数来实现。其中`timeout`参数表示等待按键的最长时间,单位为秒。例如,设置`timeout=0`可以立即停止等待。 示例代码: ```python import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() line, = ax.plot(np.random.rand(10)) ax.set_ylim(0, 1) while True: # 更新数据 line.set_ydata(np.random.rand(10)) plt.draw() if some_condition: plt.pause(0) if plt.waitforbuttonpress(0.01): break ``` 其中,`some_condition`可以是任意逻辑表达式,例如: - `i == 100`: 当更新数据次数达到100次时停止; - `np.mean(line.get_ydata()) > 0.9`: 当折线图的平均值大于0.9时停止; - `plt.get_current_fig_manager().toolbar.mode != '':`:当鼠标在图像上时停止。 注意,`plt.pause(interval)`函数只能在交互模式下有效,如果在脚本模式下使用会报错。如果需要在脚本模式下实现实时滚动折线图,可以使用`animation`模块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值