2017-09-08 3 views
0

파이썬에서 2 개의 또는 3D리스트를 10 개의 분리 된 라인으로 끝점을 포함하고 싶습니다. 여기서 y 좌표를 범위의 x의 함수로 전달할 수 있습니다 (10). y = ((x + 1)/2) * x (x는 10 또는 길다).파이썬에서리스트의 인덱스에 2 개의 좌표를 추가하고 대수

궁극적 인 목표는 위의 방정식에 따라 종단점 x 0-10을 사용하여 10 개의 개별 라인을 만드는 것이지만 y는 점점 더 멀리 떨어지게됩니다. 그것은 [0] ...하지 인덱스 린 오류를 반환

for n in range(3): 
    listy2[0].append((n,n)) 
    listy2[1].append((n,n)) 

나는이 : 할 수 아니에요.

나는 이것에 대해가는 길을 놓쳤다. 여기까지 내가 지금까지 가지고있는 것이있다.

enter image description here

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 

fig = plt.figure() 
ax = fig.add_subplot(111, projection = '3d') 

listy2 = [[] for i in range(3)] 

for q in range(3): 
    listy2[q].append((0,10)) 

listy2[0].append((2,2)) 

listy2[1].append((3,3)) 

listy2[2].append((4,4)) 


print('listy2 ' ,listy2) 

#THIS IS WHAT LIST LOOKS LIKE 
# lines = [ [(0,10),(2,2)] , 
#   [(0,10),(3,3)] , 
#   [(0,10),(4,4)] ] 


for li in listy2: 

    ax.plot(li[0],li[1]) 



ax.set_xlabel("x axis") 
ax.set_ylabel("y axis") 
plt.show() 
+0

그건 당신이 수없는 무엇을 의미합니까? 예상치 못한 결과가 발생합니까? 더 많은 정보가 필요합니다 ... – Julien

+0

의미 나는 그것에 대해 어떻게하는지 모릅니다. 각 목록에 3,3,3,4,4,4,5,5,5 개의 미친 튜플을 추가했습니다. – peer

+0

[mcve] 코드를 만들기 위해 관련없는 모든 코드를 제거하여 질문을 명확하게하십시오. – Julien

답변

0

I는 (n)을 int로 변경함으로써 해결, INT (N). 여기에 코드와 새로운 그림이 있습니다.

enter image description here

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 

fig = plt.figure() 
ax = fig.add_subplot(111, projection = '3d') 




listy2 = [[] for i in range(10)] 

for q in range(10): 
    listy2[q].append((0,10)) 

for r in range(10): 
    j = (r+1)*r 
    listy2[r].append((int(j), int(j))) 


print('listy2 ' ,listy2) 


# HERE IS WHAT LIST OF ENDPOINTS LOOK LIKE 
# listy2 [[(0, 10), (0, 0)], 
#  [(0, 10), (2, 2)], 
#  [(0, 10), (6, 6)], 
#  [(0, 10), (12, 12)], 
#  [(0, 10), (20, 20)], 
#  [(0, 10), (30, 30)], 
#  [(0, 10), (42, 42)], 
#  [(0, 10), (56, 56)], 
#  [(0, 10), (72, 72)], 
#  [(0, 10), (90, 90)]] 

for li in listy2: 

    ax.plot(li[0],li[1]) 



ax.set_xlabel("x axis") 
ax.set_ylabel("y axis") 
plt.show()