python 可视化
使用第三方包
Matplotlib
Seaborn
Pandas
Boken
Plotly
Vispy
Vega和gega-lite


Matplotlib (Matplotlib,是matrix + plot + library的缩写)库由各种可视化类构成,内部结构复杂,受Matlab启发
Matplotlib 包含两个模板
(1) 绘图API: pyplot,绘制各类可视化图形的命令子库
(2)集成库: pylab,是 Matplotlib 和 Scipy、Numpy的集成库
pylab
pylab 是 matplotlib 面向对象绘图库的一个接口。它的语法和 Matlab 十分相近。也就是说,它主要的绘图命令和 Matlab 对应的命令有相似的参数.
pyplot
matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式
Matplotlib 的画图方式可分为两种:inline 和 notebook
(1) inline 为静态绘图,嵌入到 jupyter notebook 中显示
(2) notebook 为交互式图,在 juputer notebook 只显示一行输出代码
虽然pyplot是Matplotlib下的子模块,但二者的调用关系却不是Matplotlib调用pyplot,而是在pyplot中调用Matplotlib,略显本末倒置。

pyplot模块集成了绝大部分常用方法接口,查看pyplot源码文件可以发现,它内部调用了Matplotlib路径下的大部分模块(不是全部),共同完成丰富的绘图功能。
其中两个重点: figure 和 axes,其中前者1为所有绘图操作定义了顶层类对象Figure,相当于提供了画板;而后者定义了画板中的每一个绘图对象 Axes,相当于画板内的各个子图。


实例:

在绘图结构中,figure创建窗口,subplot创建子图。所有的绘画只能在子图上进行。plt表示当前子图,若没有就创建一个子图。所有你会看到一些教程中使用plt进行设置,一些教程使用子图属性进行设置。他们往往存在对应功能函数。
(1) Figure:
Figure:面板(图),matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。
在第一步的创建图像方法plt.figure()中,我们可以通过传入参数来改变图像的显示属性。查阅官方文档,figure方法的参数包括figsize、dpi、facecolor、edgecolor、linewidth、frameon、subplotpars、tight_layout、constrained_layout。其中 subplotpars、tight_layout这两个参数与子图相关,暂时不详细展开,其他参数的含义如下:
修改plt.figure(),传入相关参数,代码如下:

Figure 详解
figure和axes,其中前者为所有绘图操作定义了顶层类对象Figure,相当于是提供了画板;而后者则定义了画板中的每一个绘图对象Axes,相当于画板内的各个子图。
换句话说,figure是axes的父容器,而axes是figure的内部元素,而我们常用的各种图表、图例、坐标轴等则又是axes的内部元素wps的免费版的下载入口的方法。
(2) Subplot:
Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。

背景色
通过向如matplotlib.pyplot.axes()或者matplotlib.pyplot.subplot()这样的方法提供一个axisbg参数,可以指定坐标这的背景色。
subplot(111,axisbg=(0.1843,0.3098,0.3098))
以下示例需要引入的库包括
(3) 叠加图(plot函数含多个参数)

(1) pyplot的中文显示
第一种方法:rcParams
pyplot并不默认支持中文显示,需要rcParams修改字体实现

rcParams的属性

最后再简单介绍几个比较常wps的的官网最新下载的地方在哪里用的属性方法,matplotlib.rcParams[‘xtick_direction’] 、matplotlib.rcParams[‘ytick.direction’]可以设置刻度的方向,rcParams是pylot使用rc配置文件来自定义图形各种默认属性的方法,也叫rc配置或rc参数,通过rc参数可以修改图表的默认属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。plt.axis(‘off’)可以关闭坐标轴,如果想只关闭x轴或y轴,可以使用frame = plt.gca()获取当前子图,然后用frame.axes.get_xaxis().set_visible(False)或frame.axes.get_yaxis().set_visible(False)对x轴或y轴设置是否显示。
中文字体的种类

实例:

第二种方法:fontproperties
在有中文输出的地方,增加一个属性:fontproperties

坐标属性
在作拥有坐标轴的图表时,我们往往需要对坐标轴进行设置,例如坐标轴的名称、坐标轴的范围、坐标轴的刻度等。
(1) 设置坐标轴的名称:plt.xlabel,plt.ylabel 分别设置x轴和y轴的标签
(2) 设置坐标轴的范围:plt.xlim, plt.ylim 分别设置x轴和y轴的大小范围。
plt.axis(xmin,xmax,ymin,ymax) 给定了坐标范围
(3) 设置刻度坐标轴的刻度:plt.xticks, plt.yticks 用于分别设置x轴和y轴的坐标轴刻度和大小、方向,以及标签大小,其同样可以用来设置坐标轴的范围(不推荐)。
有时我们会根据需求设置不同的刻度表示形式,例如小数、百分数等等,此时我们使用plt.set_xticklabels/plt.set_yticklabels。假设我们要将上述的横坐标和纵坐标的刻度都用两位小数展示

线条属性
在第3步绘图的ax.plot()方法wps免费版的下载的方法是什么中,我们可以通过传入参数来改变线条的显示属性。常见的有color、 marker、linestyle、linewidth等。
标记maker 描述wps 的官网下载的地方是什么(金山wps官网人工电话客服)
‘o’ 圆圈
‘.’ 点
‘D’ 菱形
‘s’ 正方形
‘h’ 六边形1
‘*’ 星号
‘H’ 六边形2
‘d’ 小菱形
‘_’ 水平线
‘v’ 一角朝下的三角形
‘8’ 八边形
‘<’ 一角朝左的三角形
‘p’ 五边形
‘>’ 一角朝右的三角形
‘,’ 像素
‘^’ 一角朝上的三角形
‘+’ 加号
‘ ‘ 竖线
‘None’,’’,’ ‘ 无
‘x’ X
如果这两种颜色不够用,还可以通过两种其他方式来定义颜色值:
1、使用HTML十六进制字符串 color=’#123456’ 使用合法的HTML颜色名字(’red’,’chartreuse’等)。
2、也可以传入一个归一化到[0,1]的RGB元祖。 color=(0.3,0.3,0.4)

legend()、 grid()
legend:图例。可传参数包括handles,labels,loc等。handles是图线序列,labels是要显示的图例标签,loc是图例显示的位置,共有11种可选,传参时用String或Code均可。


grid:给图表添加网格。可传参数包括b, which, axis和其他可选参数。b是否显示网格线,当提供color,linestyle等可选参数时,会默认b为True。which应用网格线,可传’major’, ‘minor’, 'both’分别表示使用主刻度、次刻度、两者。axis应用轴,可传 ‘x’, ‘y’, 'both’分别表示使用x轴、y轴、两者。可选参数包括color、linestyle、linewidth等。下面添加一个简单的网格线:
MultipleLocator, FormatStrFormatter:修改主次刻度。主刻度和次刻度就类似于一把直尺上cm与mm的关系。MultipleLocator生成刻度标签,FormatStrFormatter生成刻度标签格式,然后分别用set_major_locator、set_major_formatter、set_minor_locator、set_minor_formatter进行主次刻度的设置。下面对x轴进行主次刻度的设置:

text()、 annotate()
plt.text()添加文字说明
Text语法说明:
x,y: 是放置文本的位置
string: 表示说明文字
fontdict: 用于覆盖默认文本属性的字典,例如fontsize, fontproperties, color 等,如果fontdict为none,则默认值由rc参(matplotlib.rcParams)决定。
arrowprops: #箭头参数,参数类型为字典dict 参数:width点箭头的宽度,headwidth在点的箭头底座的宽度,headlength点箭头的长度,shrink 总长度为分数“缩水”从两端,facecolor箭头颜色.
bbox:给标题增加外框 其中常用参数: boxstyle方框外形,facecolor(简写fc)背景颜色,edgecolor(简写ec)边框线条颜色,edgewidth边框线条大小.

文本注释annotate()
在图形中增加带箭头的注释
plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict, *args, **kwargs)
参数:
s 为注释文本内容
xy 为被注释的坐标点
xytext 为注释文字的坐标位置
xycoords 参数如下:
color 设置字体颜色
weight 设置字体线型
{‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’}
color 设置字体颜色
arrowprops #箭头参数,参数类型为字典dict
bbox给标题增加外框 ,常用参数如下:

https://blog.csdn.net/qq_36387683/article/details/101377416
title() pyplot的文本显示wps office免费版下载地方在哪
title: 常用参数:fontsize设置字体大小、fontweight设置字体粗细、fontstyle设置字体类型、verticalalignment设置水平对齐方式 ,可选数: : ‘center’ , ‘top’ , ‘bottom’ ,‘baseline’
horizontalalignment: 设置垂直对齐方式,可选参数:left,right,center
rotation(旋转角度): 可选参数为:vertical,horizontal 也可以为数字
alpha: 透明度,参数值0至1之间
backgroundcolor: 标题背景颜色
(5)颜色设置
调用matplotlib.pyplot.colors()可以得到matplotlib支持的所有颜色。
其中,k表示黑色、m表示洋红色、c表示青色、w表示白色。
背景色:matplotlib.pyplot.axes() 或者 matplotlib.pyplot.subplot()提供一个axisbg参数,可以指定坐标中的颜色。
在代码执行过程中,有两种方式可以更改参数:
如果不想每次使用matplotlib时都在代码部分进行配置,可以修改matplotlib的文件参数。可以用matplot.get_config()命令来找到当前用户的配置文件目录。
配置文件包括以下配置项:
其修改模式与上节所讲属性的修改相同
在Matplotlib中,整个图像就是一个Figure对象,在Figure对象中可以包含一个或多个Axes对象,而每个Axes对象都是拥有自己的坐标系系统的绘图区域。在同一个Figure图像下的每个图表都代表这个图像的一个子图。
第一种,利用Figure对象的add_subplot方法生成子图然后再向其中填充图表。
add_subplot方法的参数包括nrows, ncols, index以及可选参数。其中nrows, ncols是子图的行列大小,index是当前创建的子图的索引,即作为图像的第几个子图。
第二种,使用 plt.add_subplots 方法同时生成Figure对象和axes对象数组,每个axes对象就相当于一个子图。add_subplots方法的参数包括nrows, ncols, sharex, sharey, squeeze, subplot_kw, gridspec_kw。其中nrows, ncols就是子图的行列大小,共生成nrows*ncols个子图。sharex, sharey设置是否共享x轴或y轴,默认不共享。squeeze默认True,挤压多余尺寸,一般默认即可。subplot_kw、gridspec_kw可选参数,用来设置子图的属性。
第三种,

第四种,利用pandas的DataFrame生成多系列图,然后拆分成子图。上述两种创建子图方法中的第三个子图都使用了pandas创建数据并在图表中展示了4条折线。这里我们依旧使用这个pandas数据,然后进行拆分直接生成子图。

在前两种子图创建方法中,我们发现各个子图之间的间距非常小,尤其是垂直方向上的间距,看着很不舒服,我们使用subplots_adjust方法来调整子图间的间距,subplots_adjust方法接收wspace, hspace两个参数分别表示水平方向和垂直方向上的间距。以第二种方法为例,我们向其中加入subplots_adjust方法。

plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始
plt.subplot2grid((3,3),(1,0),colspan=2)


内嵌图
除了像子图这种图表比较外,我们有时候也常常在已有的图表中再生成图表来进行比较,这种方式就叫做内嵌。

plt.subplot(nrows, ncols, plot_number)

在全局绘图区域中创建一个 分区体系,并定位到一个子 绘图区域

说明plt.plot(x,y,fmt,…)绘制一个坐标图 (线性二维图,折线图)plt.boxplot(data,notch,position)绘制一个箱形图plt.scatter(x,y)绘制散点图,其中,x和y长度相同plt.plot_date()绘制数据日期plt.bar(left,height,width,bottom)绘制一个条形图plt.barh(width,bottom,left,height)绘制一个横向条形图plt.polar(theta, r)绘制极坐标图plt.pie(data, explode绘制饼图plt.hist(x,bins,normed)绘制直方图plt.cohere(x,y,NFFT=256,Fs)绘制X‐Y的相关性函数plt.psd(x,NFFT=256,pad_to,Fs)绘制功率谱密度图plt.specgram(x,NFFT=256,pad_to,F)绘制谱图plt.step(x,y,where)绘制步阶图plt.contour(X,Y,Z,N)绘制等值图plt.vlines()绘制垂直图plt.stem(x,y,linefmt,markerfmt)绘制柴火图
pyplot 的 plot 函数
∙ x : X轴数据,列表或数组,可选
∙ y :Y轴数据,列表或数组
∙format_string: 控制曲线的格式字符串,可选
∙ **kwargs: 第二组或更多(x,y,format_string)
当绘制多条曲线时,各条曲线的x不能省略
注意:如果向plot()指令提供了一维的数组或者列表,则matplotlib将默认它是一系列的y值,并且自动为其生成x的值。默认的x向量从0开始并且具有和y同样的长度。

∙format_string: 控制曲线的格式字符串
由颜色字符、风格字符和标记字符组成




plt.plot(x,y, format_string, **kwargs)
∙ **kwargs: 第二组或更多(x,y,format_string)
color : 控制颜色, color=‘green’ linestyle: 线条风格, linestyle=‘dashed’ marker : 标记风格, marker=‘o’ markerfacecolor: 标记颜色, markerfacecolor=‘blue’ markersize: 标记尺寸, markersize=20
plt.plot()
只有一个输入列表或数组时,参数被当作Y轴,X轴以索引自动生成

wps电脑版的下载网站是什么
plt.plot(x,y)当有两个以上参数时,按照X轴和Y轴顺序绘制数据点

pyplot饼图的绘制
plt.pie()
wps电脑版的下载的网址怎么找


pyplot直方图的绘制
plt.hist()


pyplot极坐标图的绘制
wps office免费版下载的入口怎么找(wps office免费版下载电脑版)

pyplot 散点图的绘制


在matplotlib中使用函数 matplotlib.pyplot.scatter 绘制散点图,matplotlib.pyplot.scatter的函数签名如下:
常用参数有:x,y组成了散点的坐标;s为散点的面积;c为散点的颜色(默认为蓝色’b’);marker为散点的标记;alpha为散点的透明度(0与1之间的数,0为完全透明& WPS office官网最新下载的网站是什么#xff0c;1为完全不透明);linewidths为散点边缘的线宽;如果marker为None,则使用verts的值构建散点标记;edgecolors为散点边缘颜色。
其他参数如cmap为colormap;norm为数据亮度;vmin、vmax和norm配合使用用来归一化亮度数据,这些与数据亮度有关,可以参考这篇文章。
https://blog.csdn.net/u011915116/article/details/88525867
3D图
量场图
灰度图
等高线图
Matplotlib中的fill_between()函数总结
曲线覆盖

注意:fill_between()函数中的几个参数:
部分区域覆盖:plt.fill_between(x[2:15], 0.2, 0.6, facecolor=‘green’, alpha=0.3)
两曲线之间的覆盖:

import:
https://blog.csdn.net/u011915116/article/details/88525867
https://www.cnblogs.com/chenzhijuan-324/p/10700585.html
https://www.jianshu.com/go-wild?ac=2&url=http%3A%2F%2Fmatplotlib.org%2Fgallery.html