首页 > 解决方案 > 如何使用可选参数python3创建一个函数

问题描述

我有一个绘图功能来绘制一些数据。我想以一种它会自动获得 y 限制的方式对其进行语法化,除非我手动想要将特定限制传递给它。

当我想要使用自己的轴限制时,我通过手动更改变量中的值来做到这一点。但是我知道这只是一种解决方法,因此欢迎提出任何建议:

def plot_data(dataset, set_own_lim=1, my_ymin, my_ymax):
       ax=plt.subplot(111)
             if set_own_lim=0:
                ax.set_ylim(min(dataset),max(dataset)) #calculating y range from data
             else:
                ax.set_ylim(my_ymin, my_ymax)        # uses my own limits for y range
       ax.plot(dataset)

我想以某种方式定义一个函数,我可以称它为plot_data(some_data)从数据中获取自动限制plot_data(some_data,my_ymin, my_ymax),当我需要手动定义轴范围时,我也可以称它为

标签: pythonpython-3.xmatplotlib

解决方案


设置my_ymin, my_ymax参数是None并且在函数内部您可以检查这些值是否是None然后您可以计算它们,否则使用用户传递的值。像这样:

def plot_data(dataset, my_ymin=None, my_ymax=None):
       ax=plt.subplot(111)
             if not my_ymin:
                ax.set_ylim(min(dataset),max(dataset))
             else:
                ax.set_ylim(my_ymin, my_ymax)
       ax.plot(dataset)

推荐阅读