2015-02-03 4 views
0

내 프로그램에서 두 개의 배열을 생성하고 그 중 하나를 X 축에 그리고 다른 하나를 Y 축에 플로팅해야합니다 (후자는 행렬에서 가져옵니다).하나의 단일 플롯에서 루프의 여러 그래프 -

문제는이 작업을 여러 번 반복해야한다는 것입니다 (루프를 실행 중입니다). 그러나 모든 그래프는 동일한 플롯에 있어야합니다. 점들은 언제나 다른 색이어야합니다. 그런 다음 파일을 저장해야합니다.

내가

for row in range(6): 
    plt.plot(betaArray, WabArray[row], 'ro') 
    plt.show() 

으로 시도했지만이 매 반복하고 항상 같은 색의 하나의 플롯을 각각 보여줍니다.

답변

2

당신은 이런 식으로 뭔가를 시도 할 수 :

import numpy as np 
import matplotlib.pylab as plt 
import matplotlib as mpl 

x = [1,2,3,4] 
y_mat = np.array([[1,2,3,4], [5,6,7,8]]) 

n, _ = y_mat.shape 

colors = mpl.cm.rainbow(np.linspace(0, 1, n)) 
fig, ax = plt.subplots() 
for color, y in zip(colors, y_mat): 
    ax.scatter(x, y, color=color) 
plt.show() 

이것은 rainbow 컬러 맵에서 n 색상을 생성하고 각각의 컬러로 포인트를 음모 scatter를 사용합니다. 다른 색상 맵으로 전환하거나 색상을 수동으로 선택할 수도 있습니다.

plot6

:

는 결과입니다
관련 문제