设置y轴lim

时间:2017-06-27 18:33:30

标签: python python-2.7 matplotlib

我正在尝试使用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;

1 个答案:

答案 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轴的自动缩放功能。