matplotlib、seaborn颜色、调色板、调色盘。

matplotlib、seaborn颜色、调色板、调色盘。

6 个月前

一、python:matplotlib、seaborn的调色板,颜色,颜色系统

下面有各种颜色、调色板、调色盘:分二级标题seaborn

分类色板有6套主题:deep, muted, pastel, bright, dark, colorblind.

综述
学生党整理一些关于数据分析的知识:主要包括了调色板color设置,优化颜色使图片更加美观。主要包括了离散型颜色设置和连续型颜色设置、颜色亮度及饱和度、颜色对比、使用xkcd选取颜色和RGB颜色区域编号选取颜色等。
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
主要使用以下几个函数设置颜色:
color_palette() 能传入任何Matplotlib所有支持的颜色
color_palette() 不写参数则默认颜色
set_palette() 设置所有图的颜色
分类色板(离散)
系统默认给出颜色
current_palette = sns.color_palette()
sns.palplot(current_palette)
plt.show()
将颜色空间均匀找出8个颜色
sns.palplot(sns.color_palette("hls",8))
plt.show()
颜色空间找出8个颜色,在使用到数据中
data = np.random.normal(size=(20,8)) + np.arange(8) / 2
sns.boxplot(data=data,palette=sns.color_palette("hls",8))
plt.show()
颜色的亮度及饱和度
l-光度 lightness
s-饱和 saturation
sns.palplot(sns.hls_palette(8,l=.7,s=.9))
plt.show()
##############这个不错!!!######################
颜色分布对比,以颜色对输出,主要使用在两个变量同一属性的对比上(例如:计划生育10年的人口变化曲线和全面二孩10年的人口变化曲线)
sns.palplot(sns.color_palette("Paired",10))
plt.show()
palplot(sns.color_palette(“Paired”,颜色总个数)
xkcd选取颜色
xkcd包含了一套众包努力的针对随机RGB色的命名。产生了954个可以随时通过xkcd_rgb字典中调用的命名颜色
plt.plot([0,1],[0,1],sns.xkcd_rgb['pale red'],lw = 3) #lw = 线宽度
plt.plot([0,1],[0,2],sns.xkcd_rgb['medium green'],lw = 3)
plt.plot([0,1],[0,3],sns.xkcd_rgb['denim blue'],lw = 3)
plt.show()
————————————————
版权声明:本文为CSDN博主「暴躁的小茬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Droke_Zhou/article/details/87479132
Matplotlib科研画图.调色盘颜色提取和更改
#提取调色盘颜色 palette
#提取seaborn调色盘颜色
plt.style.use('default') #清空之前调色盘更改
sns.set() #将调色盘设置为seaborn
color_palette_sns = plt.rcParams['axes.prop_cycle'].by_key()['color'] #提取当前调色盘颜色
#提取ggplot调色盘颜色
plt.style.use('default')
plt.style.use('ggplot')
color_palette_ggplot = plt.rcParams['axes.prop_cycle'].by_key()['color']
# sns.palplot(color_palette_ggplot)
#提取default调色盘颜色
plt.style.use('default')
color_palette_default = plt.rcParams['axes.prop_cycle'].by_key()['color']
ax.set_prop_cycle(color=color_palette_ggplot)
#或设置color = color_palette_default[x] #x为palette中第几个
#在循环中提取当前颜色,用于绘制n条相同颜色的线
c = next(ax._get_lines.prop_cycler)['color']
#提取cmap的颜色
import matplotlib
cmap = matplotlib.cm.get_cmap('Spectral') #可以选要提取的cmap,如'Spectral'
cmap(0.1) # 0-1
————————————————
版权声明:本文为CSDN博主「小赵走四方」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37888343/article/details/108333134

二级标题:sns配色

还在忧愁在使用seaborn过程中怎样将图绘制的好看?!! 别担心,下表是seaborn调色板所有组合颜色,任君挑选!!
import seaborn as sns sns.palplot(sns.color_palette("XXXXXX"))
| 颜色组合名称(首字母大写)|调色显示 |
1.Accent

2.Accent_r

3.Blues

4.Blues_r

5.BrBG

6.BrBG_r

| 相信聪明的你们发现了颜色名称的某个规律 XXX_r 与 XXX 大多只是颜色顺序相反,故以下只显示 XXX |
7.BuGn

8.BuPu

9.CMRmap

10.Dark2

11.Dark2_r

12.GnBu

13.Greens

14.Greys

15.OrRd

16.Oranges

17.PRGn

18.Paired

19.Paired_r

20.Pastel1

21.Pastel1_r

22.Pastel2

23.Pastel2_r

24.PiYG

25.PuBu

26.PuBuGn

27.PuOr

28.PuRd

29.Purples

30.RdBu

31.RdYlBu

32.RdYlGn

33.Reds

34.Set1

35.Set1_r

36.Set2

37.Set2_r

38.Set3

39.Set3_r

40.Spectral

41.Wistia

42.YlGn

43.YlGnBu

44.YlOrBr

45.YlOrRd


|颜色组合名称(首字母小写)|调色板显示 |
| 1.afmhot

2.autumn

3.binary

4.bone|(可能.md表格无法在知乎的编辑工具中显示,以下在选择配色名称时可忽略 ”|“符号 )

5.brg|

6.bwr|

7.cividis|

8.cool|

9.coolwarm|

10.copper|

11.cubehelix|

12.flag|

13.gist_earth|

14.gist_gray|

15.gist_heat|

16.gist_ncar|

17.gist_rainbow|

18.gist_stern|

19.gist_yarg|

20.gnuplot|

21.gnuplot2|

22.gray|

23.hot|

24.hsv|

25.icefire|

26.inferno|

27.jet| ValueError: No. 28.magma|

29.mako|

30.nipy_spectral|

31.ocean|

32.pink|

33.plasma|

34.prism|

35.rainbow|

36.rocket|

37.seismic|

38.spring|

39.summer|

40.1.tab10|

40.2.tab10_r|

41.1.tab20|

41.2.tab20_r|

42.1.tab20c|

42.2.tab20c_r|

43.terrain|

44.twilight|

45.twilight_shifted|

46.viridis|

47.vlag|

48.winter|


二级标题:sns配色2

使用方法:以采用Paired_r配色方法为例,通过调用barplot(palette='Spectral_r')来使用配色



Paired_r


Accent



Accent_r



Blues


Blues_r



BrBG



BrBG_r



BuGn、BuGn_r


Dark2



Dark2_r



Greens、Greens_r


Greys、Greys_r



OrRd、OrRd_r



Oranges、Oranges_r



PRGn、PRGn_r


Paired、Paired_r



Pastel1_r、Pastel1



Pastel2_r、Pastel2



PiYG、PiYG_r


PuBu、PuBu_r



PuBuGn、PuBuGn_r



RdYlBu、RdYlBu_r



Set1_r、Set1



Set2_r、Set2



Set3_r、Set3



Spectral_r、Spectral



Wistia_r、Wistia


afmhot_r、afmhot



autumn_r、autumn



binary_r、binary



bone_r、bone






二、线型

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 '-.'


linestyle
线的风格或样式,常用的有以下几个样式,
'-':实线
'--' :破折线
'-.' :点划线
':' :虚线
linewidth
折线的宽度,数值越大,线条越粗。
marker
标记符号,即坐标系中每个数据点显示的样式,常用的有:
作者:公诚勤朴
链接:https://www.jianshu.com/p/33f160c65eeb
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

三、标识

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


关于marker的参数
markersize:标记符号的大小。
markerfacecolor:标记符号的颜色。
markeredgewidth:标记符号的边缘宽度。
markeredgecolor:标记符号的边缘颜色。
import matplotlib.pyplot as plt 
plt.rcParams['font.family']=['SimHei']
plt.figure(figsize=(7,7)) #设置图形大小是一个7*7的正方形
month=['1月','2月','3月','4月','5月','6月']
telephone=[100,90,105,110,85,120] #手机话费
water=[10,9,20,30,25,18]          #水费
food=[500,600,500,480,400,660]    #伙食费
other=[200,420,300,380,320,280]   #其它支出
plt.plot(month,telephone,label='话费',color='y',linestyle=':',marker='v')
plt.plot(month,water,'go-',label='水费')
#'go-'是三个参数的缩写,g是color的值,即green,o是marker的值,即实心标记,-是linestyle的值,即实线
plt.plot(month,food,label='伙食费',linestyle='--',marker='+',markersize=20,markerfacecolor='black',markeredgewidth=5,markeredgecolor='red')
plt.plot(month,other,label='其它',linestyle='-.',marker='D')
plt.legend()  #显示图例
plt.grid(ls='--',alpha=0.4) #显示网格
plt.title('上半年各费用支出走势图') #设置图标题
plt.xlabel('月份') #X轴标题
plt.ylabel('金额') #y轴标题
plt.show()

四、Python使用scatter函数绘制点在线的上层

五、例子 【python学习】-matplotlib图形设置(线宽、标签、颜色、图框、线类型、图例大小位置、图框大小及像素等)_electrochemjy的博客-CSDN博客_matplotlib 线宽


五、例子

"""本处不适合新手看"""
import numpy as np
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots(1, 1)                        # 作出图表窗口
ax2 = ax1.twinx()                                    # 让图线1和图线2 共用x坐标轴
x1 = np.linspace(1, 4*np.pi, 100)                    # 设定x1的取值(在[1,4π]取100个数)
y1 = np.sin(x1)
function1 = ax1.plot(x1, y1, 'b', label='Sine')      # 指定x坐标和y坐标的数据,设定图线颜色为蓝色blue,图线标签为“Sine”
x2 = np.linspace(0, 4*np.pi, 100)
y2 = np.cos(x2)
function2 = ax2.plot(x2, y2, 'r', label='Cosine')
functions = function1 + function2                     # 设定总的图线为 function1 加 function2
labels = [f.get_label() for f in functions]           # 设定总的label框里边包含的内容,即“Sine”和“Cosine”
plt.legend(functions, labels, loc=0)                  # 使用legend()函数,将“总funciton”和“总labels”做成图表。
ax1.set_xlabel('$x$')                                 # 设定2坐标轴的标签,"$$"作用是“斜体”
ax1.set_ylabel('$y_1$')
ax2.set_ylabel('$y_2$')
plt.title('Sine and Cosine')                          # 设定总图表的标题为“Sine and Cosine”
plt.tight_layout()                                    # .tight_layout(),调整图表,使得窗口的页边距大小适合。
plt.show()

六、例子

一、常用参数部分:
lable:设定坐标线的标签, e.g. ax1.plot(x1, y1, label='x的label')
title:设定标题。e.g. plt.title('title_name')
y :纵坐标。
x :默认为[0, 1, ... , N-1],可手动设定。
data:是:一个自带坐标标签(lable)的数据。如果指定,x坐标y坐标将会显示数据源标签名称;
color:设定线的颜色;
marker:设定节点的样式;
alpha:设定图的透明度,取值范围是[0,1]。
from numpy.random import randn
import matplotlib.pyplot as plt
data = randn(30).cumsum()
plt.plot(data)          
plt.show()
plt.plot(data) 等价于 plt.plot(data, 'k-') ,等价于 plt.plot(y=data, kind='line', color='k', linestyle='line'),表示k黑色、o圆节点、- 连续连接线(连接2个O形点);
plt.plot()如果没有连接节点的linestyle参数,结果将为散点图。

七、例子

from matplotlib import pyplot as plt
x = range(1,10) #x轴的位置
y = [6,7,12,12,15,17,15,20,18] #y轴的位置
#传入x,y,通过plot画图,并设置折线颜色、透明度、折线样式和折线宽度  标记点、标记点大小、标记点边颜色、标记点边宽
plt.plot(x,y,color='red',alpha=0.3,linestyle='--',linewidth=5,marker='o'
         ,markeredgecolor='r',markersize='20',markeredgewidth=10)
plt.show()
————————————————
版权声明:本文为CSDN博主「书院二层楼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/caoxinjian423/article/details/111477429

八、例子

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
x1 = [1, 2, 3]
y = [6, 2, 2, 1, 3]
y1 = [4, 5, 1]
plt.plot(x, y, 'ro--', linewidth=4, markersize=12, color='green')
plt.plot(x1, y1, 'ro--')
plt.show()
————————————————
版权声明:本文为CSDN博主「Aaron_neil」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Aaron_neil/article/details/120444378

九、例子:seaborn line 线图

#导入所需库
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('ggplot')
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus']=False
#函数原型
seaborn.lineplot(x=None, y=None, hue=None, 
                 size=None, style=None, data=None,
                 palette=None, hue_order=None, hue_norm=None, 
                 sizes=None, size_order=None, size_norm=None, 
                 dashes=True, markers=None, style_order=None, 
                 units=None, estimator='mean', ci=95, n_boot=1000,
                 sort=True, err_style='band', err_kws=None,
                 legend='brief', ax=None, **kwargs)
#导入数据
fmri = pd.read_csv('fmri.csv')
fmri[:5]
#以“timepoint"为x轴,以'signal"为y轴,绘制折线图。
sns.lineplot(x="timepoint", y="signal", data=fmri
#以“timepoint"为x轴,以'signal"为y轴,以“region"为分类,以”event"区分显示图例,绘制折线图。
sns.lineplot(x="timepoint", y="signal",hue="region", style="event", data=fmri)
#以“timepoint"为x轴,以'signal"为y轴,以“event"为分类且以”event"区分显示图例,设置数据点为圆点显示,绘制折线图。
sns.lineplot(x="timepoint", y="signal",hue="event", style="event", markers="o", data=fmri)