我正在尝试绘制两个列表,其中我的TTS列表是Volume列表的百分比。因此,例如,当TTS为100时,这是15的100%或者在两个列表之间的相同位置列出的任何值。我不知道如何去做这个和一个新手程序员。我试图使用列表并做彼此的百分比时遇到了麻烦,我该如何处理?谢谢!
import numpy as np
import matplotlib.pyplot as plt
def percentage(percent, whole):
return (percent * whole) / 100.0
Volume = [0,15,15,15,20,25,30,35,40,50,55,60,65,70,75,80,85,90,95,100]
TTS = [0,100,100,100,100,100,100,100,92,86,83,80,78,77,74,73,72,72,68,65]
plt.xticks([0,10,20,30,40,50,60,70,80,90,100])
plt.yticks([0,10,20,30,40,50,60,70,80,90,100])
plt.plot(TTS, 'c', linewidth=3.0, label='TTS')
plt.plot(Volume, 'r', linewidth=3.0, label='Volume')
plt.legend()
plt.grid(True)
plt.show()
答案 0 :(得分:0)
您的意思是想要绘制以下内容:
plt.plot([percentage(tts, vol) for vol, tts in zip(Volume, TTS)])
答案 1 :(得分:0)
使用地图:
def percentage(percent, whole):
return (percent * whole) / 100.0
Volume = [0,15,15,15,20,25,30,35,40,50,55,60,65,70,75,80,85,90,95,100]
TTS = [0,100,100,100,100,100,100,100,92,86,83,80,78,77,74,73,72,72,68,65]
print map(percentage,Volume,TTS)
输出:
[0.0, 15.0, 15.0, 15.0, 20.0, 25.0, 30.0, 35.0, 36.8, 43.0, 45.65, 48.0, 50.7, 53.9, 55.5, 58.4, 61.2, 64.8, 64.6, 65.0]
Volume和TTS的元素传递给相应位置的百分比函数,百分比的返回值存储为结果列表。例如,15的百分之十是15,同样72的72%是64.8(最后的第3个元素)