linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux基础建设 >

Python中matplotlib的颜色及线条参数控制示例

时间:2019-04-16  来源:未知  作者:admin666

用Python画图的时候选色选点都可以直接参考这里的内容,matplotlib中有哪些命名颜色可供用于绘图? 在matplotlib文档中找到一个列表,声明这些是唯一的名称:

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

然而,我发现这些颜色也可以使用,至少在这种情况下:

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

有一张图片显示所有标记的名称和描述,我希望它会对你有所帮助。

Python中matplotlib的颜色及线条参数控制示例

与matplotlib示例相比,我并没有做太多更改,下面是完整的代码。

import matplotlib.pyplot as plt
from matplotlib import colors as mcolors


colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS)

# Sort colors by hue, saturation, value and name.
by_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgba(color)[:3])), name)
                for name, color in colors.items())
sorted_names = [name for hsv, name in by_hsv]

n = len(sorted_names)
ncols = 4
nrows = n // ncols

fig, ax = plt.subplots(figsize=(12, 10))

# Get height and width
X, Y = fig.get_dpi() * fig.get_size_inches()
h = Y / (nrows + 1)
w = X / ncols

for i, name in enumerate(sorted_names):
    row = i % nrows
    col = i // nrows
    y = Y - (row * h) - h

    xi_line = w * (col + 0.05)
    xf_line = w * (col + 0.25)
    xi_text = w * (col + 0.3)

    ax.text(xi_text, y, name, fontsize=(h * 0.8),
            horizontalalignment='left',
            verticalalignment='center')

    ax.hlines(y + h * 0.1, xi_line, xf_line,
              color=colors[name], linewidth=(h * 0.8))

ax.set_xlim(0, X)
ax.set_ylim(0, Y)
ax.set_axis_off()

fig.subplots_adjust(left=0, right=1,
                    top=1, bottom=0,
                    hspace=0, wspace=0)
plt.show()

Python中matplotlib的颜色及线条参数控制示例

如果您想在使用matplotlib绘图时使用其他命名颜色,可以使用xkcd颜色名称,通过'xkcd:'前缀:

plt.plot([1,2], lw=4, c='xkcd:baby poop green')

现在您可以访问大量的命名颜色! https://www.linuxidc.com/tools/color/rgb/index.html

linestyle可选参数:

'-'      solid line style
'--'      dashed line style
'-.'      dash-dot line style
':'      dotted line style

marker可选参数:

'.'      point marker
','      pixel marker
'o'      circle marker
'v'      triangle_down marker
'^'      triangle_up marker
'<'      triangle_left marker
'>'      triangle_right marker
'1'      tri_down marker
'2'      tri_up marker
'3'      tri_left marker
'4'      tri_right marker
's'      square marker
'p'      pentagon marker
'*'      star marker
'h'      hexagon1 marker
'H'      hexagon2 marker
'+'      plus marker
'x'      x marker
'D'      diamond marker
'd'      thin_diamond marker
'|'      vline marker
'_'      hline marker

matplotlib中color可用的颜色:

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':          &n南国七星彩bsp; '#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 numpy as np
import matplotlib.pyplot as plt
plt.subplots(1, 1)
x= range(100)
y= [i**2 for i in x]

plt.plot(x, y, linewidth = '2', label = 'www.linuxidc.com', color='coral', linestyle=':', marker='d')
plt.legend(loc='upper left')
plt.show()

Python中matplotlib的颜色及线条参数控制示例

说明:其实上面color='coral'中,可以换成color='#be03fd',每两个十六进制数分别代表R、G、B分量:

Python中matplotlib的颜色及线条参数控制示例

import numpy as np
import matplotlib.pyplot as plt

xs = np.linspace(-np.pi, np.pi, 30)
ys = np.sin(xs)
markers_on = [12, 17, 18, 19]
plt.plot(xs, ys, '-gD', markevery=markers_on)
plt.show()

Python中matplotlib的颜色及线条参数控制示例

相关文档及代码可从以下信息得到下载:

点击这个http://www.linuxidc.com/Linux/2013-12/93755.htm 链接关注 Linux公社官方微信,关注后回复数字158053。即可得到下载地址。

如果取消关注Linux公社公众号,即使再次关注,也将无法提供本服务!

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

友情链接
  • Mozilla发布Firefox 67.0.4,修复沙箱逃逸漏洞
  • 蚂蚁金服正式成为CNCF云原生计算基金会黄金会员
  • Firefox 68将采用Microsoft BITS安装更新
  • OpenSSH增加对存储在RAM中的私钥的保护
  • 谷歌想实现自己的curl,为什么?
  • Raspberry Pi 4发布:更快的CPU、更大的内存
  • Firefox的UA将移除CPU架构信息
  • Ubuntu放弃支持32位应用程序实属乌龙,Steam会否重回Ubuntu怀抱
  • Qt 5.13稳定版发布:引入glTF 2.0、改进Wayland以及支持Lottie动
  • 红帽企业Linux 7现已内置Redis 5最新版
  • Slack进入微软内部禁用服务清单,GitHub也在其列?
  • 安全的全新编程语言V发布首个可用版本
  • Windows Terminal已上架,快尝鲜
  • 阿里巴巴微服务开源生态报告No.1
  • 面世两年,Google地球将支持所有基于Chromium的浏览器
  • 推进企业容器化持续创新,Rancher ECIC千人盛典完美收官
  • CentOS 8.0最新构建状态公布,或于数周后发布
  • Debian移植RISC
  • 微软拆分操作系统的计划初现雏形
  • Oracle发布基于VS Code的开发者工具,轻松使用Oracle数据库
  • Ubuntu 19.10停止支持32位的x86架构
  • 微软为Windows Terminal推出全新logo
  • 联想ThinkPad P系列笔记本预装Ubuntu系统
  • 微软发布适用于Win7/8的Microsoft Edge预览版
  • 启智平台发布联邦学习开源数据协作项目OpenI纵横
  • 经过六个多月的延迟,微软终于推出Hyper
  • ZFS On Linux 0.8.1 发布,Python可移植性工作
  • DragonFly BSD 5.6.0 发布,HAMMER2状态良好
  • Linux Kernel 5.2
  • CentOS 8.0 看起来还需要几周的时间
  • 百度网盘Linux版正式发布
  • PCIe 6.0宣布:带宽翻倍 狂飙至256GB/s
  • PHP 7.4 Alpha 发布,FFI扩展,预加载Opcache以获得更好的性能
  • Canonical将在未来的Ubuntu版本中放弃对32位架构的支持
  • Scala 2.13 发布,改进的编译器性能
  • 微软的GitHub收购了Pull Panda,并且使所有订阅完全免费
  • Windows Subsystem for Linux 2 (WSL 2)现在适用于Windows 10用
  • Debian 10 “Buster”的RISC
  • MariaDB宣布发布MariaDB Enterprise Server 10.4
  • DXVK 1.2.2 发布,带来微小的CPU开销优化
  • DragonFlyBSD 5.6 RC1 发布,VM优化,默认为HAMMER2
  • PrimeNG 8.0.0 发布,支持Angular 8,FocusTrap等
  • GIMP 2.10.12 发布,一些有用的改进
  • 清华大学Anaconda 镜像服务即将恢复
  • Debian GNU/Linux 10 “Buster” 操作系统将于2019年7月6日发布
  • 时时彩论坛
  • 五星体育斯诺克
  • 北单比分直播
  • 河北11选5走势图
  • 福建体彩36选7开奖结果
  • 九龙图库下载