簡體   English   中英

使用 matplotlib 的 fill_between 函數出現意外值錯誤

[英]Unexpected value error using fill_between function of matplotlib

我寫了一個簡單的代碼,繪制了兩行。 然后我嘗試使用 fill_between 填充它們之間的區域,但出現了我不明白的奇怪錯誤:

文件“C:\\Python27\\lib\\site-packages\\matplotlib\\axes_axes.py”,第 5101 行,在 fill_between '不是一維的。')ValueError:輸入傳遞到參數“u'x”不是 1-維。

這是我的代碼示例,其中 q、DelTheta5、DelTheta50、DelTheta95 都是相同維度和大小的 np 數組,

import matplotlib.pyplot as plt 
plt.figure(1)
#fig1, ax1 = plt.subplots()
plt.plot(q, DelTheta5, linewidth=2, linestyle='dashed', color='black')
plt.plot(q ,DelTheta50, linewidth=2, color='black')
plt.plot(q, DelTheta95, linewidth=2, linestyle='dotted', color='black')
plt.fill_between(q, DelTheta5, DelTheta95)

我可以讓它與我在網上找到的使用隨機數據的不同示例一起使用。 但是上面的數據和代碼片段對我不起作用(語法對我來說是正確的)。 有人知道這個 ValueError 的來源嗎? 我的數據數組很干凈(所有元素都是浮點數)。 我正在使用 python 2.7.18。

謝謝你的幫助

@Leonard 的評論完全正確。 我需要使用 np.squeeze 因為我的數據數組中有一個額外的維度:即它們是列向量 [] 但周圍有一個額外的 ([]) 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM