【精选】Python 常用线型 + 点符号 + 颜色汇总 ∈ Python 编程笔记

您所在的位置:网站首页 python标注符号 【精选】Python 常用线型 + 点符号 + 颜色汇总 ∈ Python 编程笔记

【精选】Python 常用线型 + 点符号 + 颜色汇总 ∈ Python 编程笔记

2023-11-19 04:37| 来源: 网络整理| 查看: 265

文章目录 Part.I 线型Chap.I 基本线型Chap.II 元组线型 Part.II 点符号Chap.I 基本符号Chap.II 高级符号 Part.III 颜色Chap.I 单词或字母表示颜色Chap.II 十六进制表示颜色Chap.III matplotlib 默认配色顺序Chap.IV 巧用 colorbar Reference

主博客:Python 编程笔记(本人出品,必属精品)画图主博客:Python 各种画图 在这里插入图片描述 Part.I 线型 Chap.I 基本线型

基本线型有四种:

符号字符串元组样式说明-solid(0, ())实线:dotted(0, (1, 1))点线--dashed(0, (3, 1))虚线-.dashdot(0, (3, 1))点横线

线型绘制代码示例

X = [0,1] style=['-',':','--','-.'] for i in range(4): Y=[i,i] plt.plot(X,Y,linestyle=style[i],label =style[i]) plt.legend(loc='best') plt.show()

可以绘制上述线型大致样子: 在这里插入图片描述

Chap.II 元组线型

用元组表示线型的方法,比如(0,(1,2,3,4,2,2))表示的线型如下: 在这里插入图片描述 其中

0:表示线实际起始点与名义起始点间距为0磅1,2:第一小段线宽1磅,第一和第二段之间距离2磅3,4:第二小段线宽3磅,第二和第三段之间距离4磅2,2:第三小段线宽2磅,第三和第四段之间距离2磅

这后面估计可以无限在后面加的,进而可以产生无限种线型。

Part.II 点符号 Chap.I 基本符号

下面是一些绘图点符号:

符号含义符号含义'.'point marker's'square marker','pixel marker'p'pentagon marker'o'circle marker'*'star marker'v'triangle_down marker'h'hexagon1 marker'^'triangle_up marker'H'hexagon2 marker''triangle_right marker'x'x marker'P'plus(filled)'X'X(filled)'1'tri_down marker'D'diamond marker'2'tri_up marker'd'thin_diamond marker'3'tri_left marker ∣ | ∣vline marker'4'tri_right marker'_'hline marker'8'octagon

绘制代码示例

X = list(range(1,26)) Y = list(np.full(25,1)) plt.figure() mark=['.',',','o','v','^','','1','2','3','4','8', 's','p','P','*','h','H','+','x','X','D','d','|','_'] for i in range(25): plt.scatter(X[i],Y[i],marker=mark[i]) plt.xticks(X,mark) plt.ylim(0.5,1.5) plt.gca().set_aspect(1) plt.show()

可以绘制上述符号大致样子: 在这里插入图片描述

Chap.II 高级符号

这类高级marker使用marker ='$\xxx$'来调用

样式代码样式代码ϖ\varpi⌈\lceilϱ\varrho⌊\lfloorς\varsigma⌞\llcornerϑ\vartheta⌟\lrcornerξ\xi⟩\rangleζ\zeta⌉\rceilΔ\Delta⌋\rfloorΓ\Gamma⌜\ulcornerΛ\Lambda↑\uparrowΩ\Omega⌝\urcornerΦ\PhiΘ\ThetaΠ\Pi{\{Ψ\Psi``Σ\Sigma}\}Υ\Upsilon⋀\bigwedgeΞ\Xi⋂\bigcap℧\mho⋃\bigcup∇\nabla⨀\bigodotℵ\aleph⨁\bigoplusℶ\beth⨂\bigotimesℸ\daleth⨄\biguplusℷ\gimel⋁\bigvee∐\coprod⟨\langle⇓\Downarrow∫\int⇑\Uparrow∮\oint‖\Vert∏\prod↓\downarrow∑\sum

符号绘制代码示例:

X = list(range(1,200,10)) Y = list(np.full(58,0)) plt.figure() mark1=['varpi','varrho','varsigma','vartheta','xi','zeta','Delta','Gamma','Lambda','Omega', 'Phi','Pi','Psi','Sigma','Theta','Upsilon','Xi','mho','nabla','aleph'] mark2=['beth','daleth','gimel','Downarrow','Uparrow','Vert','downarrow','langle','{','}', 'lceil','lfloor','llcorner','lrcorner','rangle','rceil','rfloor','ulcorner','uparrow','urcorner'] mark=['vert','|','bigcap','bigcup','bigodot','bigoplus','bigotimes','biguplus','bigvee','bigwedge', 'coprod','int','oint','prod','sum','coprod','int','oint','prod','sum'] for i in range(20): str='$\\'+mark[i]+'$' plt.scatter(X[i],Y[i],marker=str,s=100) plt.xticks(X,mark,rotation=60) plt.ylim(-5,5) plt.gca().set_aspect(1) plt.show()

可以绘制上述符号大致样子: 在这里插入图片描述 值得注意的是,Python还支持自定义marker,它也是使用marker ='$\xx$'来调用,比如$\heartsuit$表示

Part.III 颜色 Chap.I 单词或字母表示颜色

在这里插入图片描述 常用的单字母颜色:

颜色符号b 蓝色g 绿色r 红色c 青色m 品红y 黄色k 黑色w 白色 Chap.II 十六进制表示颜色

关于颜色,除了使用单词之外,我们还可以使用16进制来表示颜色。比如#CECECE,表示一种淡淡的灰色。16进制表示颜色是一种常见的方法,我们知道光的三原色是红绿蓝,也就是RGB。在计算机领域常用0-255这256个数字来表示某一个原色的强弱。通过三原色的不同组合,我们可以组合出所有的颜色。一共三种原色,那么自然也就需要三个数字来表示,由于255以内的数字写成16进制只有两位,所以我们可以用6位16进制的数字来代表颜色。

常用十六进制颜色对照表代码查询: https://www.cnblogs.com/planetwithpig/p/11663209.html

十六进制颜色与十进制 RGB 颜色相互转换:'35,26,17' ↔ #231A11

def RGB_to_Hex(rgb): """ Convert (r,g,b) to 16-进制 """ RGB = rgb.split(',') # 将RGB格式划分开来 color = '#' for i in RGB: num = int(i) # 将R、G、B分别转化为16进制拼接转换并大写 hex() 函数用于将10进制整数转换成16进制,以字符串形式表示 color += str(hex(num))[-2:].replace('x', '0').upper() # print(color) return color def Hex_to_RGB(hex): """ Convert 16-进制 to (r,g,b) """ r = int(hex[1:3],16) g = int(hex[3:5],16) b = int(hex[5:7], 16) rgb = str(r)+','+str(g)+','+str(b) print(rgb) return rgb Chap.III matplotlib 默认配色顺序

可以通过下面的代码来输出 matplotlib 的默认配色顺序,笔者输出了前 20 种颜色

import matplotlib.pyplot as plt for i in range(20): # 可修改这个数字 line = plt.plot([i, i]) c = line[0].get_color() plt.annotate(repr(i) + ":"+c, (0, i+0.1)) print(c) plt.show()

在这里插入图片描述 前 20 种颜色为:

# matplotlib 前 20 种颜色 default_color=['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf', '#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'] Chap.IV 巧用 colorbar 设置颜色渐变条colorbarcolorbar自定义配色

根据colormap来创建多种颜色

cm = plt.cm.get_cmap('RdYlBu_r',nums) # 创建 nums 种颜色,保存在 cm 中 c(indx) # 取出来第 index 种颜色来使用,注意不是用[]而是用()

绘图时根据因变量的值大小来染以不同的颜色

cm = plt.cm.get_cmap('RdYlBu_r',nums) # RdYlBu_r末尾加r表示颜色取反 plt.scatter(x, y,c=x,cmap=cm)

它的意思是,根据指标 x 的大小来从颜色列表中选取颜色,颜色列表是cm(它是一个colormap)

matplotlib 中所有 cmap 的可选参数 在这里插入图片描述

比如绘制一个协方差矩阵的相关图:

def imshow(): Q1=[[6.290,5.978,0.544], [5.978,6.292,2.340], [0.544,2.340,6.288]] Q2=[[4.476,0.334,0.230], [0.334,1.146,0.082], [0.230,0.082,0.626]] # ------------ draw ----------- fig, ax = plt.subplots(nrows=1, ncols=2) plt.subplot(1,2,1) plt.imshow(Q1, cmap='YlGn') plt.subplot(1,2,2) plt.imshow(Q2, cmap='YlGn') plt.colorbar(ax=ax,orientation="horizontal") plt.show() return

在这里插入图片描述

自定义 colorbar:

from matplotlib.colors import LinearSegmentedColormap, ListedColormap colors = ['#211A3F','#453370','#A597B6','#FEF3E8','#D06C9D'] # 元素个数为两个及以上 colors.reverse() cmap1 = ListedColormap(colors) # 分段 colormap cmap2 = LinearSegmentedColormap.from_list('mymap', colors) # 连续 colormap

比如:

def imshow(): Q1=[[6.290,5.978,0.544], [5.978,6.292,2.340], [0.544,2.340,6.288]] Q2=[[4.476,0.334,0.230], [0.334,1.146,0.082], [0.230,0.082,0.626]] # ------------ draw ----------- fig, ax = plt.subplots(nrows=1, ncols=2) plt.subplot(1,2,1) colors = ['#211A3F','#453370','#A597B6','#FEF3E8','#D06C9D'] colors.reverse() cmap1 = ListedColormap(colors) cmap2 = LinearSegmentedColormap.from_list('mymap', colors) plt.imshow(Q1, cmap=cmap1) plt.colorbar(orientation="horizontal") plt.subplot(1,2,2) plt.imshow(Q2, cmap=cmap2) # YlGn plt.colorbar(orientation="horizontal") plt.show() return

在这里插入图片描述

Reference 参考 https://www.cnblogs.com/Big-Big-Watermelon/p/14052165.html


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3