⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colours.py

📁 非原创。很好的python例子
💻 PY
字号:
#!/usr/bin/env python"""Some simple functions to generate colours."""from matplotlib.numerix import asarray, asumfrom matplotlib.mlab import linspacefrom matplotlib.colors import colorConverterfrom matplotlib.numerix import sumdef pastel(colour, weight=2.4):    """ Convert colour into a nice pastel shade"""    rgb = asarray(colorConverter.to_rgb(colour))    # scale colour     maxc = max(rgb)    if maxc < 1.0 and maxc > 0:        # scale colour        scale = 1.0 / maxc        rgb = rgb * scale    # now decrease saturation    total = asum(rgb)    slack = 0    for x in rgb:        slack += 1.0 - x    # want to increase weight from total to weight    # pick x s.t.  slack * x == weight - total    # x = (weight - total) / slack    x = (weight - total) / slack    rgb = [c + (x * (1.0-c)) for c in rgb]    return rgbdef get_colours(n):    """ Return n pastel colours. """    base = asarray([[1,0,0], [0,1,0], [0,0,1]])    if n <= 3:        return base[0:n]    # how many new colours to we need to insert between    # red and green and between green and blue?    needed = (((n - 3) + 1) / 2, (n - 3) / 2)    colours = []    for start in (0, 1):        for x in linspace(0, 1, needed[start]+2):            colours.append((base[start] * (1.0 - x)) +                           (base[start+1] * x))    return [pastel(c) for c in colours[0:n]]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -