问题遇到的现象和发生背景
第一段代码其中变量x,y1,y2都是大写 能正常运行 没有报错
问题相关代码,请勿粘贴截图
import matplotlib.pyplot as plt
import numpy as np
n=12
X=np.arange(n)
Y1=(1-X/float(n))*np.random.uniform(0.5,1.0,n)
Y2=(1-X/float(n))*np.random.uniform(0.5,1.0,n)
plt.bar(X,+Y1,facecolor='#9966ff',edgecolor='white')
plt.bar(X,-Y2,facecolor='#ff9966',edgecolor='white')
plt.xlim(-.5,n)
plt.ylim(-1.25,1.25)
for x,y in zip(X,Y1):
plt.text(x,y+0.05,'%.2f'%y,ha='center',va='bottom')
for x,y in zip(X,Y2):
plt.text(x,-y-0.05,'%.2f'%y,ha='center',va='top')
print(Y1)
print(Y2)
plt.show()
但是如果把x,y1,y2改成小写 就会报错代码如下
import matplotlib.pyplot as plt
import numpy as np
n=12
x=np.arange(n)
y1=(1-x/float(n))*np.random.uniform(0.5,1.0,n)
y2=(1-x/float(n))*np.random.uniform(0.5,1.0,n)
plt.bar(x,+y1,facecolor='#9966ff',edgecolor='white')
plt.bar(x,-y2,facecolor='#ff9966',edgecolor='white')
plt.xlim(-.5,n)
plt.ylim(-1.25,1.25)
for x,y in zip(x,y1):
plt.text(x,y+0.05,'%.2f'%y,ha='center',va='bottom')
for x,y in zip(x,y2):
plt.text(x,-y-0.05,'%.2f'%y,ha='center',va='top')
plt.show()
报错如下
for x,y in zip(x,y2):
TypeError: zip argument #1 must support iteration