function - 在绘图的不同元素中使用函数“返回”的 2 个不同输出
问题描述
我正在绘制每次电压的图。对于电压值,我希望通过“缩放”函数评估这些值,如果最大元素高于 1000 伏(11000 伏到11千伏),则该函数将值从伏特转换为千伏。
该函数应该返回 2 个单独的输出;一个用于(新)电压值,一个用于单位。这些值被输入到绘图的y 轴值中,并且单位被赋予该轴的标签线。例如:
import numpy as np
time = np.array([0, 1, 2, 3])
system_voltage1 = np.array([110, 120, 130, 150])
system_voltage2 = np.array([11000, 12000, 13000, 15000])
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')
现在,我遇到了麻烦,无法正确调用此函数。我需要只接收
output
forscaling_function(system_voltage)
和接收Voltage_label
in的功能ax1.set_ylabel(Voltage_label, color='k')
。现在:
A) 我的问题:我不知道如何编写代码,所以只有第一个输出被接收并用于scaling_function(system_voltage)
,第二个元素用于标签行。
B) 我尝试过但没有奏效的东西:Voltage_label
无法从 scaling_function 中识别 voltage_label 的值,因为它位于函数之外的外部循环中。我的意思是,我无法访问电压标签,因为它的值不是全局分配的。
谁能帮我这个?
解决方案
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')
推荐阅读
- jquery - 使用引导程序和 jquery 切换加号和减号图标
- python - 在 Windows 上导入 PyStan 时 DLL 加载失败
- jenkins - 错误清理脚本 CloudBees Jenkins 无法解析类 com.cloudbees.hudson.plugins.folder.AbstractFolder
- wordpress - 在 Woocommerce 中使用 Stripe 保存信用卡信息以供以后收费
- xslt - 使用 XSLT 2.0 解析固定长度的文本文件
- eclipse - IntelliJ 中的 ObjectAid 等效项
- charts - Xamarin.Forms Multiplatform - 尝试使用 Syncfusion SfChart 在 y 轴零处强制 x 轴交叉会使应用程序崩溃
- php - 提交后的联系表单登陆页面
- javascript - 带有 PHP carbon 的 javascript 全文 Date() 格式
- sql-server - Powershell sql server模块2017手动安装