在matplotlib中命名的颜色 [英] Named colors in matplotlib

查看:238
本文介绍了在matplotlib中命名的颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在matplotlib中有什么命名的颜色可用于绘图?我可以在matplotlib文档中找到一个列表,声明这些是唯一的名称:

  b:blue 
g: green
r:red
c:cyan
m:magenta
y:yellow
k:black
w:white


<$> p $ p> 分散(X,Y,颜色='red')
分散(X,Y,color ='orange' 'darkgreen')

但这些不在上面的列表中。有没有人知道可用的命名颜色的详尽列表?

解决方案

Matplotlib使用一个字典从它的colors.py模块。



要打印名称,请使用:

 #python2:

import matplotlib
名称,十六进制在matplotlib.colors.cnames.iteritems():
print(name,hex)

#python3:

import matplotlib
名称,hex在matplotlib.colors.cnames.items()中:
print(name,hex)
pre>

这是完整的字典:

  cnames = {
'aliceblue':'#F0F8FF',
'antiquewhite':'#FAEBD7',
'aqua':'#00FFFF',
'aquamarine':'#7FFFD4' ,
'azure':'#F0FFFF',
'beige':'#F5F5DC',
'bisque':'#FFE4C4',
'black':' 000000',
'blanchedalmond':'#FFEBCD',
'blue':'#0000FF',
'blueviolet':'#8A2BE2',
'brown' '#A52A2A',
'burlywood':'#DEB887',
'cadetblue':'#5F9EA0',
'chartreuse':'#7FFF00',
'巧克力':'#D2691E',
'coral':'#FF7F50',
'cornflowerblue':'#6495ED',
'cornsilk':'#FFF8DC',
'crimson':'#DC143C',
'cyan':'#00FFFF',
'darkblue':'#00008B',
'darkcyan':'#008B8B',
'darkgoldenrod':'#B8860B',
'darkgray':'#A9A9A9',
'darkgreen':'#006400',
'darkkhaki':'#BDB76B'
'darkmagenta':'#8B008B',
'darkolivegreen':'#556B2F',
'darkorange':'#FF8C00',
'darkorchid':'#9932CC ',
'darkred':'#8B0000',
'darksalmon':'#E9967A',
'darkseagreen':'#8FBC8F',
'darkslateblue' #483D8B',
'darkslategray':'#2F4F4F',
'darkturquoise':'#00CED1',
'darkviolet':'#9400D3',
'deeppink' :'#FF1493',
'deepskyblue':'#00BFFF',
'dimgray':'#696969',
'dodgerblue':'#1E90FF',
' firebrick':'#B22222',
'floralwhite':'#FFFAF0',
'forestgreen':'#228B22',
'fuchsia':'#FF00FF',
'gainsboro':'#DCDCDC',
'ghostwhite':'#F8F8FF',
'gold':'#FFD700',
'goldenrod':'#DAA520',
'grey':'#808080',
'green':'#008000',
'greenyellow':'#ADFF2F',
'honeydew':'#F0FFF0' ,
'hotpink':'#FF69B4',
'indianred':'#CD5C5C',
'indigo':'#4B0082',
'ivory':' FFFFF0',
'khaki':'#F0E68C',
'lavender':'#E6E6FA',
'lavenderblush':'#FFF0F5',
'lawngreen' '#7CFC00',
'lemonchiffon':'#FFFACD',
'lightblue':'#ADD8E6',
'lightcoral':'#F08080',
' ':'#E0FFFF',
'lightgoldenrodyellow':'#FAFAD2',
'lightgreen':'#90EE90',
'lightgray':'#D3D3D3',
'lightpink':'#FFB6C1',
'lightsalmon':'#FFA07A',
'lightseagreen':'#20B2AA',
'lightskyblue':'#87CEFA',
'lightslategray':'#778899',
'lightsteelblue':'#B0C4DE',
'lightyellow':'#FFFFE0',
'lime':'#00FF00'
'limegreen':'#32CD32',
'linen':'#FAF0E6',
'magenta':'#FF00FF',
'maroon':'#800000 ',
'mediumaquamarine':'#66CDAA',
'mediumblue':'#0000CD',
'mediumorchid':'#BA55D3',
'mediumpurple' #9370DB',
'mediumseagreen':'#3CB371',
'mediumslateblue':'#7B68EE',
'mediumspringgreen':'#00FA9A',
'mediumturquoise' :'#48D1CC',
'mediumvioletred':'#C71585',
'midnightblue':'#191970',
'mintcream':'#F5FFFA',
' mistyrose':'#FFE4E1',
'moccasin':'#FFE4B5',
'navajowhite':'#FFDEAD',
'navy':'#000080',
'oldlace':'#FDF5E6',
'olive':'#808000',
'olivedrab':'#6B8E23',
'orange':'#FFA500',
'orangered':'#FF4500',
'orchid':'#DA70D6',
'palegoldenrod':'#EEE8AA',
'palegreen':'#98FB98' ,
'paleturquoise':'#AFEEEE',
'palevioletred':'#DB7093',
'papayawhip':'#FFEFD5',
'peachpuff':' FFDAB9',
'peru':'#CD853F',
'pink':'#FFC0CB',
'plum':'#DDA0DD',
'powderblue' '#B0E0E6',
'purple':'#800080',
'red':'#FF0000',
'rosybrown':'#BC8F8F',
'royalblue ':'#4169E1',
'saddlebrown':'#8B4513',
'salmon':'#FA8072',
'sandybrown':'#FAA460',
'seagreen':'#2E8B57',
'seashell':'#FFF5EE',
'sienna':'#A0522D',
'silver':'#C0C0C0',
'skyblue':'#87CEEB',
'slateblue':'#6A5ACD',
'slategray':'#708090',
'snow':'#FFFAFA'
'springgreen':'#00FF7F',
'steelblue':'#4682B4',
'tan':'#D2B48C',
'teal':'#008080 ',
'thistle':'#D8BFD8',
'tomato':'#FF6347',
'turquoise':'#40E0D0',
'violet' #EE82EE',
'wheat':'#F5DEB3',
'white':'#FFFFFF',
'whitesmoke':'#F5F5F5',
'yellow' :'#FFFF00',
'yellowgreen':'#9ACD32'}

这样绘制:

  import matplotlib.pyplot as plt 
import matplotlib.patches as patches
import matplotlib.colors as colors
import math


fig = plt.figure()
ax = fig.add_subplot(111)

ratio = 1.0 / 3.0
count = math.ceil(math.sqrt(len(colors.cnames)))
x_count = count * ratio
y_count = count / ratio
x = 0
y = 0
w = 1 / x_count
h = 1 / y_count

用于colors.cn中的c:
pos =(x / x_count,y / y_count)
ax.add_patch(patches.Rectangle(pos,w,h,color = c))
ax.annotate(c,xy = pos)
如果y> = y_count -1:
x + = 1
y = 0
else:
y + = 1
$ b plt.show()


What named colors are available in matplotlib for use in plots? I can find a list on the matplotlib documentation that claims that these are the only names:

b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white

However, I've found that these colors can also be used, at least in this context:

scatter(X,Y, color='red')
scatter(X,Y, color='orange')
scatter(X,Y, color='darkgreen')

but these are not on the above list. Does anyone know an exhaustive list of the named colors that are available?

解决方案

Matplotlib uses a dictionary from its colors.py module.

To print the names use:

# python2:

import matplotlib
for name, hex in matplotlib.colors.cnames.iteritems():
    print(name, hex)

# python3:

import matplotlib
for name, hex in matplotlib.colors.cnames.items():
    print(name, hex)

This is the complete dictionary:

cnames = {
'aliceblue':            '#F0F8FF',
'antiquewhite':         '#FAEBD7',
'aqua':                 '#00FFFF',
'aquamarine':           '#7FFFD4',
'azure':                '#F0FFFF',
'beige':                '#F5F5DC',
'bisque':               '#FFE4C4',
'black':                '#000000',
'blanchedalmond':       '#FFEBCD',
'blue':                 '#0000FF',
'blueviolet':           '#8A2BE2',
'brown':                '#A52A2A',
'burlywood':            '#DEB887',
'cadetblue':            '#5F9EA0',
'chartreuse':           '#7FFF00',
'chocolate':            '#D2691E',
'coral':                '#FF7F50',
'cornflowerblue':       '#6495ED',
'cornsilk':             '#FFF8DC',
'crimson':              '#DC143C',
'cyan':                 '#00FFFF',
'darkblue':             '#00008B',
'darkcyan':             '#008B8B',
'darkgoldenrod':        '#B8860B',
'darkgray':             '#A9A9A9',
'darkgreen':            '#006400',
'darkkhaki':            '#BDB76B',
'darkmagenta':          '#8B008B',
'darkolivegreen':       '#556B2F',
'darkorange':           '#FF8C00',
'darkorchid':           '#9932CC',
'darkred':              '#8B0000',
'darksalmon':           '#E9967A',
'darkseagreen':         '#8FBC8F',
'darkslateblue':        '#483D8B',
'darkslategray':        '#2F4F4F',
'darkturquoise':        '#00CED1',
'darkviolet':           '#9400D3',
'deeppink':             '#FF1493',
'deepskyblue':          '#00BFFF',
'dimgray':              '#696969',
'dodgerblue':           '#1E90FF',
'firebrick':            '#B22222',
'floralwhite':          '#FFFAF0',
'forestgreen':          '#228B22',
'fuchsia':              '#FF00FF',
'gainsboro':            '#DCDCDC',
'ghostwhite':           '#F8F8FF',
'gold':                 '#FFD700',
'goldenrod':            '#DAA520',
'gray':                 '#808080',
'green':                '#008000',
'greenyellow':          '#ADFF2F',
'honeydew':             '#F0FFF0',
'hotpink':              '#FF69B4',
'indianred':            '#CD5C5C',
'indigo':               '#4B0082',
'ivory':                '#FFFFF0',
'khaki':                '#F0E68C',
'lavender':             '#E6E6FA',
'lavenderblush':        '#FFF0F5',
'lawngreen':            '#7CFC00',
'lemonchiffon':         '#FFFACD',
'lightblue':            '#ADD8E6',
'lightcoral':           '#F08080',
'lightcyan':            '#E0FFFF',
'lightgoldenrodyellow': '#FAFAD2',
'lightgreen':           '#90EE90',
'lightgray':            '#D3D3D3',
'lightpink':            '#FFB6C1',
'lightsalmon':          '#FFA07A',
'lightseagreen':        '#20B2AA',
'lightskyblue':         '#87CEFA',
'lightslategray':       '#778899',
'lightsteelblue':       '#B0C4DE',
'lightyellow':          '#FFFFE0',
'lime':                 '#00FF00',
'limegreen':            '#32CD32',
'linen':                '#FAF0E6',
'magenta':              '#FF00FF',
'maroon':               '#800000',
'mediumaquamarine':     '#66CDAA',
'mediumblue':           '#0000CD',
'mediumorchid':         '#BA55D3',
'mediumpurple':         '#9370DB',
'mediumseagreen':       '#3CB371',
'mediumslateblue':      '#7B68EE',
'mediumspringgreen':    '#00FA9A',
'mediumturquoise':      '#48D1CC',
'mediumvioletred':      '#C71585',
'midnightblue':         '#191970',
'mintcream':            '#F5FFFA',
'mistyrose':            '#FFE4E1',
'moccasin':             '#FFE4B5',
'navajowhite':          '#FFDEAD',
'navy':                 '#000080',
'oldlace':              '#FDF5E6',
'olive':                '#808000',
'olivedrab':            '#6B8E23',
'orange':               '#FFA500',
'orangered':            '#FF4500',
'orchid':               '#DA70D6',
'palegoldenrod':        '#EEE8AA',
'palegreen':            '#98FB98',
'paleturquoise':        '#AFEEEE',
'palevioletred':        '#DB7093',
'papayawhip':           '#FFEFD5',
'peachpuff':            '#FFDAB9',
'peru':                 '#CD853F',
'pink':                 '#FFC0CB',
'plum':                 '#DDA0DD',
'powderblue':           '#B0E0E6',
'purple':               '#800080',
'red':                  '#FF0000',
'rosybrown':            '#BC8F8F',
'royalblue':            '#4169E1',
'saddlebrown':          '#8B4513',
'salmon':               '#FA8072',
'sandybrown':           '#FAA460',
'seagreen':             '#2E8B57',
'seashell':             '#FFF5EE',
'sienna':               '#A0522D',
'silver':               '#C0C0C0',
'skyblue':              '#87CEEB',
'slateblue':            '#6A5ACD',
'slategray':            '#708090',
'snow':                 '#FFFAFA',
'springgreen':          '#00FF7F',
'steelblue':            '#4682B4',
'tan':                  '#D2B48C',
'teal':                 '#008080',
'thistle':              '#D8BFD8',
'tomato':               '#FF6347',
'turquoise':            '#40E0D0',
'violet':               '#EE82EE',
'wheat':                '#F5DEB3',
'white':                '#FFFFFF',
'whitesmoke':           '#F5F5F5',
'yellow':               '#FFFF00',
'yellowgreen':          '#9ACD32'}

You could plot them like this:

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.colors as colors
import math


fig = plt.figure()
ax = fig.add_subplot(111)

ratio = 1.0 / 3.0
count = math.ceil(math.sqrt(len(colors.cnames)))
x_count = count * ratio
y_count = count / ratio
x = 0
y = 0
w = 1 / x_count
h = 1 / y_count

for c in colors.cnames:
    pos = (x / x_count, y / y_count)
    ax.add_patch(patches.Rectangle(pos, w, h, color=c))
    ax.annotate(c, xy=pos)
    if y >= y_count-1:
        x += 1
        y = 0
    else:
        y += 1

plt.show()

这篇关于在matplotlib中命名的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆