我正在用我掌握的资料准备小提琴的情节。
我想要做的是给我的小提琴情节一个鲜明的颜色,就像彩虹色图。我有一些颜色完全相同的东西,但我想介绍一些变化。
vp1 = violinplot(y1, x1, points=20, widths=0.9, showmeans=True, showextrema=False, showmedians=False)
for pc in vp1['bodies']:
pc.set_facecolor('red')
pc.set_edgecolor('black')
vp1['cmeans'].set_color('black')我该怎么做?
发布于 2021-01-16 04:33:07
您可以使用颜色列表:
vp1 = violinplot(y1, x1, points=20, widths=0.9, showmeans=True, showextrema=False, showmedians=False)
colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violat"]
len_colors = len(colors)
i = 0
for pc in vp1['bodies']:
pc.set_facecolor(colors[i])
pc.set_edgecolor('black')
i += 1
if i == len_colors:
i = 0
vp1['cmeans'].set_color('black')解释:
i = 0将colors的索引设置为0,每次使用颜色后,按1递增变量,以便下一种颜色将是列表中的下一种颜色。
如果i被增量到等于colors长度的点,则将其值设置为0。
如果希望每种颜色都是完全随机和不同的,则可以使用内置 模块:中的 方法。
from random import random
# Your code
vp1 = violinplot(y1, x1, points=20, widths=0.9, showmeans=True, showextrema=False, showmedians=False)
for pc in vp1['bodies']:
pc.set_facecolor((random(), random(), random()))
pc.set_edgecolor('black')
vp1['cmeans'].set_color('black')发布于 2021-01-16 04:30:03
import random
def randomColor():
r = lambda: random.randint(0,255)
color = '#{:02x}{:02x}{:02x}'.format(r(), r(), r())
return color
vp1 = violinplot(y1, x1, points=20, widths=0.9, showmeans=True, showextrema=False, showmedians=False)
for pc in vp1['bodies']:
pc.set_facecolor(randomColor())
pc.set_edgecolor('black')
vp1['cmeans'].set_color('black')如果您有100多个列,就可以使用它。函数randomColor()生成一个随机的hex值,并在每次迭代时给出一个随机颜色。
https://stackoverflow.com/questions/65746484
复制相似问题