如果你希望有不同的數據組不同的標記(顏色由matplotlib
自動循環):
import numpy as np
import matplotlib.pyplot as plt
markers = ['o', #'circle',
'v', #'triangle_down',
'^', #'triangle_up',
'<', #'triangle_left',
'>', #'triangle_right',
'1', #'tri_down',
'2', #'tri_up',
'3', #'tri_left',
'4', #'tri_right',
'8', #'octagon',
's', #'square',
'p', #'pentagon',
'h', #'hexagon1',
'H', #'hexagon2',
'D', #'diamond',
'd', #'thin_diamond'
]
n_markers = len(markers)
a = [10.*np.random.random(int(np.random.random()*10)) for i in xrange(n_markers)]
fig = plt.figure()
ax = fig.add_subplot(111)
for i, data in enumerate(a):
xs = data.shape[0]*[i,] # makes the abscissas list
marker = markers[i % n_markers] # picks a valid marker
ax.plot(xs, data, marker, label='data %d, %s'%(i, marker))
ax.set_xlim(-1, 1.4*len(a))
ax.set_ylim(0, 10)
ax.legend(loc=None)
fig.tight_layout()
通知的極限y
比例是硬編碼,相應地改變。 1.4*len(a)
意味着在圖例右側留下空間。上述
的例子已在x=0
沒有點(將深藍色圓圈)作爲其數據集的隨機分配的大小是零,但是你可以很容易地放置+1
如果你不想使用x=0
。
不是真的。我需要將最後兩個元素48和55關聯到同一個abc(同樣的x),在這種情況下4. 4. –
如果你想繪製一條線,我已經改變了上面的代碼。不太清楚你想要繪製什麼,但是上面將會做 –
這是有效的,但爲了得到'xs = [1,2,4,4]',你需要使用'[[i + 1] * len(x1)爲i,x1爲枚舉(x)]'。 (目前,它給出了[0,1,3,3]') – tom