【python】Matplotlib作图常用marker类型、线型和颜色

python作图中常常会考虑用什么颜色、marker、线型,这个资料查了又查,所以自己总结在这个地方,以便常用。

一、常用marker表示

1.普通marker

这类普通marker直接marker ='^'就可以用了

2.高级marker

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

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

3.自定义marker

import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用于显示中文 plt.rcParams['axes.unicode_minus'] = False # 用于显示中文 plt.figure(dpi=200) #常规marker使用 plt.plot([1,2,3],[1,2,3],marker=4, markersize=15, color='lightblue',label='常规marker') plt.plot([1.8,2.8,3.8],[1,2,3],marker='2', markersize=15, color='#ec2d7a',label='常规marker') #非常规marker使用 #注意使用两个$符号包围名称 plt.plot([1,2,3],[4,5,6],marker='$\circledR$', markersize=15, color='r', alpha = 0.5 ,label='非常规marker') plt.plot([1.5,2.5,3.5],[1.25,2.1,6.5],marker='$\heartsuit$', markersize=15, color='#f19790', alpha=0.5,label='非常规marker') plt.plot([1,2,3],[2.5,6.2,8],marker='$\clubsuit$', markersize=15, color='g', alpha=0.5,label='非常规marker') #自定义marker plt.plot([1.2,2.2,3.2],[1,2,3],marker='$666$', markersize=15, color='#2d0c13',label='自定义marker') plt.legend(loc='upper left') for i in ['top','right']: plt.gca().spines[i].set_visible(False)

作图结果为:

二、常用线型

1.字符型linestyle

共有四种:

linestyle_str = [ ('solid', 'solid'), # Same as (0, ()) or '-';solid’, (0, ()) , '-'三种都代表实线。 ('dotted', 'dotted'), # Same as (0, (1, 1)) or '.' ('dashed', 'dashed'), # Same as '--' ('dashdot', 'dashdot')] # Same as '-.'

2.元组型linestyle

可以通过修改元组中的数字来呈现出不同的线型,因此可以构造出无数种线型。

linestyle_tuple = [ ('loosely dotted', (0, (1, 10))), ('dotted', (0, (1, 1))), ('densely dotted', (0, (1, 2))), ('loosely dashed', (0, (5, 10))), ('dashed', (0, (5, 5))), ('densely dashed', (0, (5, 1))), ('loosely dashdotted', (0, (3, 10, 1, 10))), ('dashdotted', (0, (3, 5, 1, 5))), ('densely dashdotted', (0, (3, 1, 1, 1))), ('dashdotdotted', (0, (3, 5, 1, 5, 1, 5))), ('loosely dashdotdotted', (0, (3, 10, 1, 10, 1, 10))), ('densely dashdotdotted', (0, (3, 1, 1, 1, 1, 1)))]

线型使用代码:

import matplotlib.pyplot as plt plt.figure(dpi=120) #字符型linestyle使用方法 plt.plot([1,2,3],[1,2,13],linestyle='dotted', color='#1661ab', linewidth=5, label='字符型线型:dotted') #元组型lintstyle使用方法 plt.plot([0.8,0.9,1.5],[0.8,0.9,21.5],linestyle=(0,(3, 1, 1, 1, 1, 1)), color='#ec2d7a', linewidth=5, label='元组型线型:(0,(3, 1, 1, 1, 1, 1)') for i in ['top','right']: plt.gca().spines[i].set_visible(False) #自定义inestyle plt.plot([1.5,2.5,3.5],[1,2,13],linestyle=(0,(1,2,3,4,2,2)), color='black', linewidth=5, label='自定义线型:(0,(1,2,3,4,2,2)))') plt.plot([2.5,3.5,4.5],[1,2,13],linestyle=(2,(1,2,3,4,2,2)), color='g', linewidth=5, label='自定义线型:(1,(1,2,3,4,2,2)))') plt.legend()

作图结果为:

3.元组型详解

上图中线型(0,(1,2,3,4,2,2))每个数字是什么意思?理解每个数字的意思就可以自定义线型了。

第一个0的意义,比较黑色和绿色线型即可知道

1,2 第一小段线宽1磅,第一和第二段之间距离2磅

3,4 第二小段线宽3磅,第二和第三段之间距离4磅

2,2 第三小段线宽2磅,第三和第四段之间距离2磅

三、常用颜色

装了seaborn扩展的话,在字典seaborn.xkcd_rgb中包含所有的xkcd crowdsourced color names

以上部分内容参考:pythonic生物人,链接:https://www.jianshu.com/p/7543b925bdb8


__EOF__

本文作者大大西瓜吃不饱
本文链接https://www.cnblogs.com/Big-Big-Watermelon/p/14052165.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   大大西瓜吃不饱  阅读(40383)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示