我正在尝试使用if语句设置ylim
,其中包含我从csv文件中读取的数据。现在我已将if语句设置如下。
df = pd.read_csv('data')
# Indicated your x values and y values.
x = df["x data"]
y1 = df["2nd y axis data"]
z = df["1st y axis data"]
y_pos = np.arange(len(x))
lns1 = plt.bar(y_pos,z)
plt.ylabel('Data')
plt.xlabel('Date')
plt.twinx()
lns2 = plt.plot(y_pos,y1,color='orange',linewidth=2.5)
lns3 = plt.axhline(y=10,color='red',linewidth=2.5)
if y1 < 10:
plt.ylim([0.0,14.0])
else:
plt.ylim(0,ymax)
这段代码给我一个错误信息。 &#34;系列的真值是模棱两可的。&#34;
答案 0 :(得分:1)
您的ymax
是熊猫系列,但需要是一个数字。检查您的代码和ymax
。
这会重现您的错误消息:
import pandas as pd
ser = pd.Series([1, 2, 3])
plt.ylim(0, ser)
...
ValueError: The truth value of a Series is ambiguous.
Use a.empty, a.bool(), a.item(), a.any() or a.all().
plt.ylim()
的帮助:
获取或设置当前轴的 y - 限制。
::
ymin,ymax = ylim()#返回当前ylim ylim((ymin,ymax) )#将ylim设置为ymin,ymax ylim(ymin,ymax)#设置ylim 到ymin,ymax
如果您未指定args,则可以将 ymin 和 ymax 作为 kwargs,例如::
ylim(ymax = 3)#调整最大离开最小值不变ylim(ymin = 1)# 调整最小离开最大值不变
设置限制会关闭y轴的自动缩放功能。