matplotlib、seaborn颜色、调色板、调色盘。
一、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)