数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
三、基本概念
matplotlib
被划分为不同的层次:matplotlib.pyplot
模块:位于matplotlib
的顶层,它是一个state-machine environment
。该模块中的很多函数是用于给当前Figure
的当前Axes
添加plot element
,比如line
、text
、image
等。它非常类似于Matlab
的用法。- 下一层是面向对象的接口:在这一层
pyplot
只是用部分函数来创建Figure
,然后通过该Figure
显式的创建Axes
,然后通过面向对象的接口在该Axes
上添加图形。极端情况下用户可以完全抛弃pyplot
而完全使用面向对象的接口。
对于非交互式绘图,官方文档推荐用
pyplot
创建Figure
,然后使用面向对象接口来绘图。matplotlib
的所有plotting function
期待输入numpy.array
或者numpy.ma.masked_array
类型的数据作为输入。某些长得像numpy.array
的数据比如numpy.matrix
类型的输入数据可能会导致matplotlib
工作异常。如果确实需要使用numpy.matrix
,你应该首先将它转换为numpy.array
matplotlib 、 pyplot 、 pylab 的关系:
matplotlib
:它是整个package
matplotlib.pyplot
:是matplotlib
的一个module
。它为底层的面向对象接口提供了一个state-machine interface
。这个state-machine
必要的时候隐式创建Figure
和Axes
,并维护current Figure
和current Axes
pylab
是一个便利的module
,它导入了matplotlib.pyplot
以及numpy
,它只是为了plot
以及math
方便而用。官方文档不推荐使用它。
pyplot.gcf()
:获取当前的figure
对象。pyplot.gca()
:获取当前的Axes
对象代码风格:官方文档不推荐
MATLAB
风格的代码。因为MATLAB
风格代码维护了全局状态,你执行同一个plot
多次可能会发现结果是不同的。官方文档推荐使用如下风格:xxxxxxxxxx
import matplotlib.pyplot as plt import numpy as np fig=plt.figure() ax=fig.add_subplot(111) ax.plot(...) ax.show()这样的风格使得在绘图事件中,每个角色都很清楚,数据的流动也很清楚。
1. backend
matplotlib
可以适用于非常广泛的场景:matplotlib
可以交互式地用于python shell
matplotlib
可以嵌入到wxpython
或者pygtk
等GUI
程序中matplotlib
可以在脚本中使用从而生成postscript image
为了适应于这些场景,
matplotlib
针对这些target
生成不同的输出格式。这种能力称之为backend
。与之相对的
frontend
指的是用户使用matplotlib
而编写的代码有两种类型的
backend
:- 交互式的
backend
:应用于pygtk
、wxpython
、tkinter
、qt4
、macosx
等中 - 非交互式的
backend
:用于生成image file
(如PNG、SVG、PDF、PS
等格式文件,这些backend
的名字暗示了要存储的文件的格式)
- 交互式的
有多种方法来设置
backend
,其中后面提到的方法会覆盖前面的方法设置的backend
:- 在
matplotlibrc
配置文件中设置的backend
参数,如backend: WXAgg #使use wxpython with antigrain(agg) rendering
- 设置
MPLBACKEND
环境变量,无论是在shell
中设置还是在脚本中设置。 - 对单个脚本设置
backend
时,可以直接在python
命令后添加-d
命令(这种方法不推荐,deprecated
) - 在脚本中使用特定的
backend
时,可以用matplotlib.use('PDF')
命令。这条语句必须在import matplotlib.pyplot
语句之前执行。如果在import matplotlib.pyplot
之后执行use
语句,则没有任何效果。通常建议避免使用use()
方法,因为使用该脚本的人无法修改backend
了。
- 设定
backend
时,是忽略大小写的。因此GTKAgg
也等价于gtkagg
- 查看当前的
backend
可以用:matplotlib.get_backend()
- 在
rendering engine :
matplotlib
提供的常用的rendering engine
是Agg
,它采用的是Anti-Grain Geometry C++ library
。除了macosx
之外的所有user interface
都可以用agg rendering
,如WXAgg,GTKAgg,QT4Agg,TkAgg
这些backend
。某些
user interface
还支持其他引擎,如GTK
支持Cario
引擎,如GTKCariro backend
。下面是所有的
Rendering engine
:AGG
:输出png
格式文件。它可以输出高质量的图形PS
:输出ps\eps
格式文件。它是Postscript output
PDF
:输出pdf
格式文件。SVG
:输出svg
格式文件Cairo
:可以输出png、ps、pdf、svg...
等格式文件GDK
:可以输出png、jpg、tiff...
等格式文件,它使用Gimp Drawing Kit
要想保存成指定类型文件,如
PDF
,那么首先要设置合适的backend
,
2. 交互式模式
使用交互式
backend
可以plotting to the screen
,但是前提是matplotlib
必须是interactive mode
。你可以在
matplotlibrc
配置文件中设置matplotlib
是否位于交互模式,也可以通过代码matplotlib.interacite()
来设置matplotlib
位于交互模式。你可以通过代码matplotlib.is_interactive()
来判断代码是否交互模式。通常并不建议在绘图过程中修改交互模式,因此要提前修改交互模式再绘图。交互模式也可以通过
matplotlib.pyplot.ion()
开启交互模式,由matplotlib.pyplot.ioff()
关闭交互模式。另外交互模式支持ipython
和python shell
,但是不支持IDLE IDE
。在交互模式下:
pyplot.plot()
绘图之后图表马上显示,pyplot
自动绘制到屏幕,不需要调用pyplot.show()
- 图表显式之后你可以继续输入命令。任何对图形的修改会实时的反应到图表中去。
- 使用面向对象的方法,如
Axes
的方法并不会自动调用draw_if_interactive()
。如果你通过Axes
来修改图表,想更新图表的话那么你需要手动调用.draw()
方法。而pyplot
模块中的函数会主动调用draw_if_interactive()
,因此如果你是通过pyplot
模块修改图表那么不需要手动调用.draw()
方法就是实时绘制。
在非交互模式下:
- 在绘图之后必须手动调用
pyplot.show()
才能显示图表。该函数会阻塞执行直到你关闭了图表窗口。 - 所有的绘制工作会延迟到
pyplot.show()
函数调用 - 在1.0版本以前,单个脚本文件中只能调用一次
pyplot.show()
,在1.01版本之后该限制被放松。
- 在绘图之后必须手动调用
3. matplotlib的颜色
可以通过
matplotlib.pyplot.colors()
方法获取matplotlib
支持的所有颜色。该方法不做任何事情,就是提供一个帮助文档。matplotlib
提供了下面颜色的别名:'b'
:蓝色;'g'
:绿色;'r'
:红色;'y'
:黄色;'c'
:青色;'k'
:黑色;'m'
:洋红色;'w'
:白色。你也可以定制自己的颜色。有两种方法:
- 使用HTML十六进制字符串:如
'#eeefff'
- 使用HTML颜色名字:如
'red'
- 使用一个归一化到闭区间[0-1]的RGB元组:如
color=(0.3,0.3,0.4)
- 使用HTML十六进制字符串:如
4. matplotlib.cm
matplotlib.cm
模块包含了一系列的colormap
,以及相关的函数。它主要有两个函数:matplotlib.cm.get_cmap(name=None, lut=None)
:获取一个colormap
实例。其中:name
:指定了colormap
的名字。如果为None
,则使用rc
配置。如果它已经是colormap
实例,则直接返回该实例。注意:register_cmap
注册的colormap
优先查询lut
:一个整数。如果非None
,则指定了查询表的number of entries
matplotlib.cm.register_cmap(name=None, cmap=None, data=None, lut=None)
:注册一个colormap
。有两种使用方式:register_cmap(name='swirly', cmap=swirly_cmap)
:此时cmap
参数必须是matplotlib.colors.Colormap
实例。name
默认为该Colormap
实例的.name
属性。register_cmap(name='choppy', data=choppydata, lut=128)
:此时这三个参数传递给matplotlib.colors.LinearSegementedColormap
初始化函数。
所有的内置的
name
如下:xxxxxxxxxx
'Perceptually Uniform Sequential':['viridis', 'inferno', 'plasma', 'magma'] 'Sequential':['Blues', 'BuGn', 'BuPu','GnBu', 'Greens', 'Greys', 'Oranges', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu','Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd'] 'Sequential (2)':['afmhot', 'autumn', 'bone', 'cool','copper', 'gist_heat', 'gray', 'hot','pink', 'spring', 'summer', 'winter'] 'Diverging':['BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr', 'RdBu', 'RdGy', 'RdYlBu', 'RdYlGn', 'Spectral','seismic'] 'Qualitative':['Accent', 'Dark2', 'Paired', 'Pastel1', 'Pastel2', 'Set1', 'Set2', 'Set3'] 'Miscellaneous':['gist_earth', 'terrain', 'ocean', 'gist_stern','brg', 'CMRmap', 'cubehelix','gnuplot', 'gnuplot2', 'gist_ncar','nipy_spectral', 'jet', 'rainbow', 'gist_rainbow', 'hsv', 'flag', 'prism']你可以使用
cm.get_cmap('winter')
来使用,也可以直接用cm.winter
来使用。
5. matplotlib.colors
matplotlib.colors
是一个模块,用于转换数字或者颜色参数到RGB
或者RGBA
RGB
:一个浮点数元组,有3个浮点数。每个数都是 0-1之间RGBA
:一个浮点数元组,有4个浮点数。每个数都是 0-1之间
colors.cnames
是个字典,它给出了常用颜色的字符串和对应的#FFFFFF
形式。colors.rgb2hex(rgb)
函数:给出了rgb
元组到#FFFFFF
形式。 而hex2color(s)
给出了#FFFFFF
到rgb
形式。colors.ColorConverter
类是个颜色转换器类。它提供了下面方法用于转换颜色:.to_rgb(arg)
:转换其他类型的颜色到标准的rgb
三元组。其中arg
可以为一个rgb/rgba
序列,或者一个字符串,字符串格式为:- 一个代表颜色的字符,如
'rgbcmykw'
- 一个十六进制的颜色字符串,如
'#0FFFFFF'
- 一个标准的颜色的名字,如
'red'
- 一个代表浮点数的字符串,如
'0.5'
- 一个代表颜色的字符,如
.to_rgba(arg, alpha=None)
:转换其他类型的颜色到标准的rgba
四元组to_rgba_array(c, alpha=None)
:它返回一个ndarray
,而不是一个元组
colors.colorConverter
是模块提供的一个默认的实例。colors.Colormap
是所有colormap
的基类。colormap
用于将[0,1]
之间的浮点数转换为RGBA
颜色。它是一个颜色条,浮点数对应了颜色条的位置(归一化为0.0~1.0),
RGBA
颜色对应了指定颜色条某个位置处的颜色。其属性有:
name
:colormap
名字N
:一个整数,表示rgb
颜色层级,默认为256级
常用方法有:
__call__(self, X, alpha=None, bytes=False)
:颜色转换。X
为一个标量或者ndarray
,给出了待转换的数据。如果是浮点数,则必须是[0.0,1.0]
之间。如果是整数,则必须是[0,self.N)
之间。如果是标量,则返回rgba
四元组。如果是ndarray
,则返回一个ndarray
,相当于对每个元素进行标量转换,然后组装成ndarray
alpha
:一个浮点数,给出了透明度。必须是0到1之间bytes
:一个布尔值。如果为True
,则返回的结果是[0,255]
之间。否则是[0.0,1.0]
之间
colors.LinearSegmentColormap(Colormap)
:是Colormap
的子类。额外的属性:
._gamma
/._segmentdata
它的构造函数为:
__init__(self, name, segmentdata, N=256, gamma=1.0)
。其中segmentdata
是一个字典,字典的键分别为'red'/'green'/'blue'
,字典的值为一个列表,列表元素为三元组(alpha
被忽略)。如:xxxxxxxxxx
{'red':[(0.0, 0.0, 0.0), (0.5, 1.0, 1.0), (1.0, 1.0, 1.0)], 'green': [(0.0, 0.0, 0.0), (0.25, 0.0, 0.0), (0.75, 1.0, 1.0), (1.0, 1.0, 1.0)], 'blue': [(0.0, 0.0, 0.0), (0.5, 0.0, 0.0), (1.0, 1.0, 1.0)]}每一行代表了元组
(x,y0,y1)
。其中red/green/blue
中,每一列x
必须从0递增到1;y0/y1
也是如此。对于任何落到x[i]~x[i+1]
之间的值z
,其映射的颜色由y1[i]
和y0[i+1]
插值决定。类方法
from_list(name, colors, N=256, gamma=1.0)
:从一个颜色序列中构造LinearSegmentColormap
。其中colors
是一个颜色序列,matplotlib
会将颜色均匀分布,val=0
处对应colors[0]
,val=1
处对应colors[-1]
。你也可以传递一个(value,color)
元组的序列,其中value
指定了对应位置处的color
,其中value
位于[0.0,1.0]
colors.ListedColormap(Colormap)
是Colormap
的子类。它用于从一个list of colors
中创建colormap
。- 构造方法为:
__init__(self, colors, name=’from_list’, N=None)
。其中color
是一个颜色列表。或者为一个浮点数ndarray
,其形状为Nx3
或者Nx4
。N
为colormap
的条目数,如果N <len(colors)
,则截断colors
。如果N > len(colors)
,则重复colors
到指定长度。
- 构造方法为:
colors.Normalize
:是归一化类。它用于将数据归一化到[0.0,1.0]
- 构造方法为:
__init__(self, vmin=None, vmax=None, clip=False)
。如果未提供vmin/vmax
,则使用数据的最小值和最大值。如果clip=True
,则落在vmin~vmax
之外的数据被截断为0或者1。如果vmin==vmax
,则始终返回 0 - 属性有:
.vmin/.vmax/.clip
- 类方法为:
process_value(value)
:调整value
的格式,从而方便后续的操作 - 实例方法:
__call__(self, value, clip=None)
:归一化处理 - 实例方法:
inverse(self, value)
:逆归一化处理
- 构造方法为:
colors.LogNorm
类是Normalize
的子类,它使用对数来归一化colors.rgb_to_hsv(arr)
:将rgb
形式的浮点数数组转换为hsv
格式的浮点数组。而hsv_to_rgb(hsv)
执行的是逆向操作。
6. matplotlib.colorbar
matplotlib.colorbar
模块包含了创建colorbar
的一些方法和类。ColorbarBase
:绘制colorbar
的基类Colorbar
:用于imges/contour
等的colorbar
类make_axes()
:用于调整Axes
并向其中添加一个colorbar
matplotlib.colorbar.Colorbar(ax, mappable, **kw)
:Colorbar
类。通常没必要显式调用构造函数,而应该调用下面两个方式:Figure.colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kw)
pyplot.colorbar(mappable=None, cax=None, ax=None, **kw)
参数为:
mappable
:为Image/ContourSet
对象。它是你将要应用colorbar
的对象cax
:它指定了你将在哪个Axes
内绘制colorbar
ax
:你的新的colorbar Axes
从该ax
中拿到绘制空间。use_gridspec
:一个布尔值。如果cax=None
,则如果use_gridspec=True
,则创建一个Subplot
对象。如果为False
,则创建一个Axes
对象。
额外的参数参与设置两个对象:
axes
对象:orientation
:设置为垂直'vertical'
还是水平'horizontal'
fraction
:一个浮点数,指定从原始的Axes
中窃取多少倍的空间来绘制colorbar
。默认为 0.15pad
:0.05 if vertical, 0.15 if horizontal; 一个浮点数,指定两个Axes
的间距shrink
: 指定colorbar
的伸缩比。默认为 1.0aspect
:指定colorbar
的长宽比。默认为 20
colorbar
对象:extend
:一个字符串。可以为'neither'/'both'/'min'/'max'
。如果不是'neither'
,则它会在colorbar
对应端添加箭头(如果extendrect=False
)extendfrac
:colorbar
指示超出部分的箭头的长度。extendrect
:一个布尔值。如果为True
,则超出部分不用箭头。drawedges
:一个布尔值,如果为True
,则绘制colorbar
的边。ticks
:给出你要显示哪些tick
format
:指定格式化方式。可以为格式化字符串如%.3f
,或者Formatter
对象。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论