我绘制了一条带有pyplot.plot
的2行的图。有没有办法一次指定几个标记?
import matplotlib.pyplot as plt
data = [[0, 0], [1, 2], [1, 3], [1, 4]]
plt.plot(c, marker = 'o') # the two lines will have the marker, which I don't want.
plt.show()
我知道我可以绕线:
import matplotlib.pyplot as plt
markers = ['*', 'D']
for i in range(len(data[0])): plt.plot(map(list, zip(*data))[i], marker = markers[i])
plt.show()
但我想知道是否存在更好的解决方案,例如一个看起来像plt.plot(c, marker = ('*', 'D'))
的人。
答案 0 :(得分:1)
我不相信您正在寻找的具体语法存在。我认为它引入了太多含糊之处,可能违反了Python主体'explicit is better than implicit'。
你可以这样做,
import numpy as np
from matplotlib import pyplot as plt
data = np.array([[0, 0],
[1, 2],
[1, 3],
[1, 4]])
plt.plot(data[:,0], '*-', data[:, 1], 'D-')
老实说,我并不觉得这比循环更好'。