这是我启用的代码
from itertools import*
markers = itertools.cycle([ '+', '*', ',', 'o', '.', '1', 'p', ])
blah blah....
blah blah....
plot(ld,lp, linestyle="", label=liquidname,marker = markers.next())
然而问题是标记点开始重复,因为我在图例中有很多值。 http://i.imgur.com/GakvIHw.png
因此,如何将图例中的标记颜色随机化以避免混淆?
感谢任何帮助,谢谢。
答案 0 :(得分:2)
对于彩色标记,您可以在调用plot()
函数时传递颜色。
至于随机颜色,我们谈论的数字有多大?你可以定义一个颜色数组并随机选择一个:
import matplotlib.pyplot as plt
from random import randint
markers = [ '+', '*', ',', 'o', '.', '1', 'p']
colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k']
for x in range(20):
c = randint(0,6)
plt.plot(x, 1, color=colors[c], marker=markers[x%7])
plt.show()
这里的优点是你有明显可辨的颜色。
如果你有超过几十个标记,可以通过随机RGB组件选择随机数字颜色。
另请参阅Markers参考。
答案 1 :(得分:1)
对color
执行相同操作marker
,尽管使用不同数量的颜色以便存在偏移:
from itertools import *
markers = itertools.cycle([ '+', '*', ',', 'o', '.', '1', 'p', ])
# Use any combination of colors you like.
# Below is blue, green, red, black, yellow, magenta
colors = itertools.cycle('bgrkym')
blah blah....
plot(ld, lp, linestyle="", label=liquidname,
marker=markers.next(), color=colors.next())
有关特定颜色的详细信息,请参阅documentation。