這應該是很容易複製:plt.eventplot拒絕lineoffsets
plt.eventplot(positions=[1, 2, 3], lineoffsets=[1, 2, 3])
提高
ValueError: lineoffsets and positions are unequal sized sequences
至於原因,我想不通,因爲他們顯然不是。
這應該是很容易複製:plt.eventplot拒絕lineoffsets
plt.eventplot(positions=[1, 2, 3], lineoffsets=[1, 2, 3])
提高
ValueError: lineoffsets and positions are unequal sized sequences
至於原因,我想不通,因爲他們顯然不是。
如果我理解正確,你想繪製3條線,在不同的起始高度(偏移)。這一點也適用plt.eventplot
的方法如下:
import numpy as np
import matplotlib.pyplot as plt
positions = np.array([1, 2, 3])[:,np.newaxis] # or np.array([[1], [2], [3]])
offsets = [1,2,3]
plt.eventplot(positions, lineoffsets=offsets)
plt.show()
你必須設置要繪製每一組數據的偏移量。在你的情況下,你必須將列表分成一個3D數組(形狀爲(m,n)
,數據集數量爲m
,每組數據點數爲n
)。這樣plt.eventplot
知道它必須爲每組數據使用不同的偏移量。另請參閱this示例。
只需要提一下:將列表重塑爲一個轉置數組可以像'positions = np.array([1,2,3])[:,np.newaxis]一樣完成'(這不需要事先知道大小)。 – ImportanceOfBeingErnest
@ImportanceOfBeingErnest偉大的補充,編輯。 –
你使用matplotliv 2.0或以上? – Bodhi94