代碼:
import matplotlib.pyplot as plt
import numpy as np
poslist = []
numlist = []
i = 1
num = int(input('Number to check?'))
plt.title(str(num) ': Collatz Graph')
plt.xlabel('Step')
plt.ylabel('Value')
print(num)
poslist.append(i)
numlist.append(num)
while True:
i = i 1
if num % 2 == 0:
num = num // 2
print(num)
elif num == 1:
break
else:
num = num * 3
num = num 1
print(num)
poslist.append(i)
numlist.append(num)
axislist = np.array((poslist, numlist))
print(axislist)
plt.plot(axislist)
plt.show()
我正在嘗試將 2 個串列變成一個 Numpy 陣列。poslist,第一個串列,將添加一個數字,每個步驟從前一個增加 1。(例如[1, 2, 3, 4])。第二個串列 ,numlist將在每個步驟中附加一個與
uj5u.com熱心網友回復:
做plt.plot(*axislist)。
默認情況下, plt.plot 將單個引數決議為 y 坐標。因此,在您的情況下,每一列都用于定義一條線。您需要同時傳遞 x 坐標和 y 坐標,您可以通過添加 *. 在 Python 中,* 會將 numpy 陣列拆分為由其行定義的兩個子陣列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/350544.html
