Function 使用两种不同的输出';返回';在绘图的单独元素中的函数

Function 使用两种不同的输出';返回';在绘图的单独元素中的函数,function,matplotlib,return-value,Function,Matplotlib,Return Value,我在画一张每次的电压图。对于电压值,我希望通过“缩放”函数对值进行评估,如果最大元素高于1000伏(11000伏至11千伏),该函数将电压值从伏特转换为千伏 该函数应返回2个单独的输出;一个用于(新)电压值,一个用于装置。值被输入到绘图的y轴值中,单位被赋予该轴的标签行。例如: 现在,我很难正确调用这个函数。我需要该函数只接收缩放功能(系统电压)的输出,并在ax1中接收电压标签。设置标签(电压标签,颜色为'k')。现在: A)我的问题:我不知道如何编写代码,因此只接收第一个输出并用于缩放功能(系

我在画一张每次的电压图。对于电压值,我希望通过“缩放”函数对值进行评估,如果最大元素高于1000伏(11000伏11千伏),该函数将电压值从伏特转换为千伏

该函数应返回2个单独的输出;一个用于(新)电压值,一个用于装置被输入到绘图的y轴值中,单位被赋予该轴的标签行。例如:

现在,我很难正确调用这个函数。我需要该函数只接收
缩放功能(系统电压)
输出
,并在
ax1中接收
电压标签
。设置标签(电压标签,颜色为'k')
。现在:

A)我的问题:我不知道如何编写代码,因此只接收第一个输出并用于
缩放功能(系统电压)
,第二个元素用于标签线

B)我尝试了一些东西,但没有成功:
电压标签
无法从缩放函数中识别电压标签的值,因为它位于函数之外的外环中。我的意思是,我无法访问voltage_标签,因为它的值没有全局分配


有人能帮我吗?

谢谢。有没有一种方法可以做到这一点而不用将它们保存在不同的变量中?没有。但我建议你考虑一下:你不需要缩放数据。您只需要缩放y轴值。
y,l = scaling_function(system_voltage)
l1, = ax1.plot(time, y, color='r')
ax1.set_xlabel("time in second", color='k')
ax1.set_ylabel(l, color='k')
scaling_function(input)
    if np.amax(input) < 1000:
        output = input/1
        Voltage_label = 'Voltage in Volts'
    if np.amax(input) > 1000:
        output = input/1000
        Voltage_label = 'Voltage in KILOVolts'
    return(output, Voltage_label)
fig14 = plt.figure(figsize=(16,9))
ax1 = fig14.add_subplot(111)

l1, = ax1.plot(time, scaling_function(system_voltage), color='r')
ax1.set_xlabel("time in second", color='k')
ax1.set_ylabel(Voltage_label, color='k')
y,l = scaling_function(system_voltage)
l1, = ax1.plot(time, y, color='r')
ax1.set_xlabel("time in second", color='k')
ax1.set_ylabel(l, color='k')