首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在小提琴曲中添加颜色?

如何在小提琴曲中添加颜色?
EN

Stack Overflow用户
提问于 2021-01-16 04:24:19
回答 2查看 316关注 0票数 1

我正在用我掌握的资料准备小提琴的情节。

我想要做的是给我的小提琴情节一个鲜明的颜色,就像彩虹色图。我有一些颜色完全相同的东西,但我想介绍一些变化。

代码语言:javascript
复制
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')

我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-16 04:33:07

您可以使用颜色列表:

代码语言:javascript
复制
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 = 0colors的索引设置为0,每次使用颜色后,按1递增变量,以便下一种颜色将是列表中的下一种颜色。

如果i被增量到等于colors长度的点,则将其值设置为0

如果希望每种颜色都是完全随机和不同的,则可以使用内置 模块:中的 方法。

代码语言:javascript
复制
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')
票数 1
EN

Stack Overflow用户

发布于 2021-01-16 04:30:03

代码语言:javascript
复制
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值,并在每次迭代时给出一个随机颜色。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65746484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档