数据分析之Matplotilb数据可视化

news2024/11/16 21:33:13

文章目录

    • 1.Matplotilb 基础
      • plt.show()函数
      • plt.plot()函数
        • 基本用法
        • 例子
        • 坐标轴显示的范围
        • 传入Numpy数组
          • 传入多组数据
        • 线条属性
          • 使用plt.plot()的返回值来设置线条属性
          • plt.setp()修改线条性质
    • 子图
            • plt. subplot (numrows, numcols,fignum)形式
    • 3.电影数据绘图
        • (1)绘制每个国家或地区的电影数量的柱状图
        • (2)绘制每年上映的电影数量的曲线图
        • (3)根据电影的长度绘制饼图
          • 函数原型:
        • (4)根据电影的评分绘制频率分布直方图
          • 参数
    • 双轴图的画法
        • (5)根据电影时长和电影评分绘制散点图
        • 6.绘制各个地区的评分箱形图
          • 美国电影评分的箱线图
          • 多组数据箱线图
          • 通过vert属性可以把图旋转过来
        • 7.相关系数矩阵图--热力图

1.Matplotilb 基础

matplotlib是一个python的2D图形包。pyplot封装了很多画图的函数。

导入相关的包:

import matplotlib.pyplot as plt
import numpy as np

matplotlib. pyplot包含一系列类似 MATLAB中绘图函数的相关函数。每个matplotlib. pyplot中的函数对当前的图像进行一些修改 ,例如:产生新的图像,在图像中产生新的绘图区域,在绘图区域中画线,给绘图加上标记,等等… matplotlib. pyplot会自动记住当前的图像和绘图区域,因此这些函数会直接作用在当前的图像上。
在实际的使用过程中,常常以plt作为matplotlib. pyplot的省略。

plt.show()函数

默认情况下, matplotlib. pyplot不会直接显示图像,只有调用plt.show()函数时,图像才会显示出来。
plt. show()默认是在新窗口打开一幅图像,并且提供了对图像进行操作的按钮。
不过在ipython命令行中,我们可以将它插入notebook中,并且不需要调用plt. show()也可以显示:
●%matplotlib notebook
●%matplotlib inline
不过在实际写程序中,我们还是习惯调用plt. show()函数将图像显示出来。

plt.plot()函数

基本用法

plot函数基本的用法:
指定x和y

  • plt. plot (x, y)
    默认参数,x为0^N-1
  • plt. plot(y)

例子

plt.plot()函数可以用来绘线型图:

plt.plot ([1,2,3,4]) ## 若只有一个列表,默认为y轴数据,x轴数据为列表的索引
plt.show()  #因为未使用%matplotlib notebook或者%matplotlib inline 所以要plt.show()

在这里插入图片描述

plt.plot ([1,2,3,4],[4,5,6,7])
plt.show()

在这里插入图片描述

—————————————————————————————

这里使用**%matplotlib notebook** ,后续即不需要plt.show()

%matplotlib notebook

给x,y轴命名

plt.plot ([1,2,3,4],[4,5,6,7])
plt.ylabel('y')
plt.xlabel('x')

在这里插入图片描述

  • 常见颜色

    标识描述
    r红色
    g绿色
    b蓝色
    w白色
    c青色
    m洋红
    y黄色
    k黑色
  • 常见线类型

    标识描述
    -实线
    虚线
    -.点划线
    点虚线
    ‘’空格
  • 常见标记

    标识描述
    ‘.’point marker
    ‘,’pixel marker
    ‘o’circle marker
    ‘v’triangle_down marker
    ‘^’triangle_up marker
    ‘<’triangle_left marker
    ‘>’triangle_right marker
    ‘1’tri_down marker
    ‘2’tri_up marker
    ‘3’tri_left marker
    ‘4’tri_right marker
    ‘s’square marker
    ‘p’pentagon marker
    ‘*’star marker
    ‘h’hexagon1 marker
    ‘H’hexagon2 marker
    ‘+’plus marker
    ‘x’x marker
    ‘D’diamond marker
    ‘d’thin_diamond marker
    ‘|’vline marker
    ‘_’hline marker
  • 显示图例位置

    位置的字符串位置的标识
    best0
    upper right1
    upper left2
    lower left3
    lower right4
    right5
    center left6
    center right7
    lower center8
    upper center9
    center10

画出红色圆点

plt.plot ([1,2,3,4],[4,5,6,7],'ro')

在这里插入图片描述

可以看出,有两个点在图像的边缘,因此,我们需要改变轴的显示范围。

坐标轴显示的范围

与MATLAB类似,这里可以使用axis函数指定坐标轴显示的范围:
plt. axis([xmin,xmax, ymin, ymax])

plt.plot ([1,2,3,4],[4,5,6,7],'ro')
plt.axis([0,6,2,8])
plt.show()

在这里插入图片描述

传入Numpy数组

之前我们传给plot的参数都是列表,事实上,向plot中传入numpy数组是更常用的做法。

事实上,如果传入的是列表, matplotlib会在内部将它转化成数组再进行处理:

在一个图里画多条线

t=np.arange(0.,5.,0.2)
plt.plot(t,t,'r--',    ## 分行是为了看的更清楚,不分行也行
         t,t**2,'bs',
         t,t**3,'g^')
plt.show()

在这里插入图片描述

传入多组数据

事实上,在上面的例子中,我们不仅仅向plot函数传入了数组,还传入了多组(x, y, format_ str) 参数,它们在同一-张图上显示。这意味着我们不需要使用多个plot函数来画多组数组,只需要可以将这些组合放到一个plot函数中去即可。

线条属性

之前提到,我们可以用字符串来控制线条的属性,事实上还可以通过关键词来改变线条的性质,例如linwidth可以改变线条的宽度, color可以改变线条的颜色:

x=np.linspace(-np.pi,np.pi)
y=np.sin(x)
plt.plot(x,y)
plt.show()

在这里插入图片描述

x=np.linspace(-np.pi,np.pi)
y=np.sin(x)
plt.plot(x,y,linewidth=4.0) ## 设置宽度
plt.show()

在这里插入图片描述

x=np.linspace(-np.pi,np.pi)
y=np.sin(x)
plt.plot(x,y,linewidth=4.0,color='r')  ## 设置颜色
plt.show()

在这里插入图片描述

使用plt.plot()的返回值来设置线条属性

plot函数返回一个Line2D对象组成的列表,每个对象代表输入的一对组合,例如:

  • line1, line2为两个Line2D对象
    linel, line2 = plt. plot(x1, y1, x2, y2)

  • 返回3个Line2D对象组成的列表

    lines = plt. plot(x1,y1, x2, y2,x3, y3)

我们可以使用这个返回值来对线条属性进行设置:

line1,line2=plt.plot(x,y,'r',x,y+1,'g')
plt.show()

在这里插入图片描述

line1,line2=plt.plot(x,y,'r',x,y+1,'g')
line1.set_antialiased(False) ## 把line1的抗锯齿关了,即让line1不那么平滑
plt.show()

在这里插入图片描述

对于用一个line收集成为列表,有些功能是用不了的,上面例子中的抗锯齿就关不了,会报错

plt.setp()修改线条性质

更方便的做法是使用plt的setp函数:

line=plt.plot(x,y)
plt.setp(line,color='r',linewidth=4) ## 或者plt.setp(line,'color','r','linewidth',4)
plt.show()

在这里插入图片描述

子图

figure ()函数会产生一个指定编号为num的图:

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80,1英寸等于2.5cm,A4纸是 21*30cm的纸张
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框

这里, figure(1)其实是可以省略的,因为默认情况下plt会自动产生一幅图像。

plt. subplot (numrows, numcols,fignum)形式

其中numrows, numcols是行列数, fignum是第几个图,比如(221)则是一个有四个图,该图位于第一个

当numrows * numcols < 10 时,中间的逗号可以省略,因此plt. subplot (211)就相当于plt. subplot(2, 1, 1)。

def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)

t1 = np.arange(0.,5.,0.1)
t2 = np.arange(0.,5.,0.02)

plt.figure(figsize=(10,6)) ## 设置图的大小
plt.subplot(211)   ## 选取第一个图
plt.plot(t1,f(t1),'bo',t2,f(t2),'k')

plt.subplot(212)  ## 选取第二个图
plt.plot(t1,np.cos(t1),'r--')

plt.show()

在这里插入图片描述

3.电影数据绘图

电影数据 提取码:jwlf
数据链接在前面文章pandas里面

在了解了绘图的基础知识之后,我们可以对电影数据进行可视化分析。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei'] ## 防止图中汉字乱码
plt.rcParams['axes.unicode_minus']=False ## 防止负号乱码

df=pd.read_excel('movie_data2.xlsx')
df.head()

在这里插入图片描述

(1)绘制每个国家或地区的电影数量的柱状图

柱状图(bar chart) ,是一种以长方形的长度为变 量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不
同时间或者不同条件) , 只有一个变量,通常利用于较小的数据集分析。柱状图亦可横向排列,或用多维方式表达。

data = df.产地.value_counts()
data

在这里插入图片描述

x=data.index
y=data.values

plt.figure(figsize=(10,6))
plt.bar(x,y,color='g')  ## 柱状图函数为bar
plt.title('各国家或地区电影数量',fontsize=20)
plt.xlabel('国家或地区',fontsize=18)
plt.ylabel('电影数量',fontsize=18)
plt.xticks(rotation=90)   ## 使x轴坐标旋转90度
for a,b in zip(x,y):      ## 给每一个柱型顶部加上数据
    plt.text(a,b+10,b,ha='center',fontsize=10)   
    """
    plt.text()作用:画图时给图中的点 加标签

语法格式
**plt.text(x, y, s, fontsize, verticalalignment,horizontalalignment,rotation , kwargs)
其中
(1)x,y:标签添加的位置,注释文本内容所在位置的横/纵坐标,默认是根据坐标轴的数据来度量的,是绝对值,也就是说图中点所在位置的对应的值,特别的,如果你要变换坐标系的话,要用到transform=ax.transAxes参数。
(2)s:标签的符号,字符串格式,比如你想加个“我爱python”,更多的是你标注跟数据有关的主体。
(3)fontsize:加标签字体大小,取整数。
(4)verticalalignment:垂直对齐方式 ,可选 ‘center’ ,‘top’ , ‘bottom’,‘baseline’ 等
(5)horizontalalignment:水平对齐方式 ,可以填 ‘center’ , ‘right’ ,‘left’ 等
(6)rotation:标签的旋转角度,以逆时针计算,取整
(7)family :设置字体
(8)style: 设置字体的风格
(9)weight:设置字体的粗细
(10) bbox:给字体添加框, 如 bbox=dict(facecolor=‘red’, alpha=0.5) 等。
(11)string:注释文本内容
(12)color:注释文本内容的字体颜色
    """
plt.grid() ## 添加网格线
plt.show()

在这里插入图片描述

在这里插入图片描述

(2)绘制每年上映的电影数量的曲线图

曲线图又称折线图,是利用曲线的升、降变化来表示被研究现象发展变化趋势的一种图形。它在分析研究社会经济现象的发展变化、依存关系等方面具有重要作用。
绘制曲线图时,如果是某一现象的时间指标,应将时间绘在坐标的横轴 上指标绘在坐标的纵轴上。如果是两个现象依存关系的显示,可以将表示原因的指标绘在横轴上,表示结果的指标绘在纵轴上。同时还应注意整个图形的长宽比例。

1888-2015年

data=df['年代'].value_counts().sort_index() 
data=data[data.index<2016]  ## 去掉2016年之后的
data

在这里插入图片描述

x=data.index
y=data.values

plt.plot(x,y,color='b')
plt.title('每年电影数量',fontsize=20)
plt.ylabel('电影数量',fontsize=18)
plt.xlabel('年份',fontsize=18)

for a,b in zip(x[::10],y[::10]) :  ## 每十年显示一次电影数量
    plt.text(a,b+10,b,ha='center',va='bottom',fontsize=10)

## 设置标注属性  
plt.annotate('2012年达到最大值',xy=(2012,data[2012]),xytext=(2025,2100),arrowprops=dict(facecolor='black',edgecolor='red'))
plt.text(1980,1000,'电影数量开始快速增长')
plt.show()

详解标注点函数annotate()

在这里插入图片描述

对于这幅图形,我们使用xlabel , ylabel , title , text方法设置了文字,其中:
●xlabel : x轴标注
●ylabel : y轴标注
●title :图形标题
●text :在指定位置放入文字
输入特殊符号支持使用Text语法,用 < s o m e T e x c o d e > <some Tex code> <someTexcode> 隔开。
除了使用text在指定位置标上文字之外,还可以使用annotate函数进行注释。

(3)根据电影的长度绘制饼图

饼图英文学名为Sector Graph,有名Pie Graph。常用于统计学模块。2D饼图为圆形,手画时,常用圆规作图。
仅排列在工作表的一-列或- 行中的数据可以绘制到饼图中。饼图显示一个数据系列( 数据系列:在图表中绘制的相关数据点,这些数据源自数据表的行或列。图表中的每个数据系列具有唯的颜色或图案并且在图表的图例中表示。 可以在图表中绘制一个或多个数据系列。 饼图只有一个数据系列。 ) 中各项的大小与各项总和的此例。讲图中的数据点(数据点:在图表中绘制的单个值.这些值由条形、柱形、折线、饼图或圆环图的扇面、圆点和其他被称为数据标记的图形表示,租同颜色的数据标记组成一个 数据系列。) 显示为整个饼图的百分比。

函数原型:

pie(x,explode=None, labels=None, colors=None, autopct=None, pctdistance=0. 6,shadow=False,labeldistance=1. 1,startangle=None, radius=None)

参数:

x (每一块)的比例,如果sum(x) > 1会使用sum(x)归一化
labels (每一块)饼图外侧显示的说明文字
explode (每一块)离开中心距离
startangle起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起
shadow是否阴影
labeldistance labe|绘制位置相对于半径的比例,如<1则绘制在饼图内侧
autopct控制饼图内百分比设置可以使用format字符串或者format function '%1.1f指小数点前后位数(没有用空格补齐)
pctdistance类似于labeldistance,指定autopct的位置刻度
radius控制饼图半径

返回值:

如果没有设置autopct,返回(patches, texts)
如果设置autopct,返回(patches, texts, autotexts)

data=pd.cut(df['时长'],[0,60,90,110,1000]).value_counts()  ## 切分时长分组
data

在这里插入图片描述

y=data.values/sum(data.values) ## 是否算出比率都行,不算,函数自动归一化处理

plt.figure(figsize=(7,7))
plt.title('电影时长占比',fontsize=15)
plt.pie(y,labels=data.index,autopct='% .1f %%',colors='bygr',startangle=90)
plt.legend()   ## 增加图例
plt.show()

在这里插入图片描述

带返回值的样子

在这里插入图片描述

(4)根据电影的评分绘制频率分布直方图

直方图(Histogram)又称质量分布图。是一种统计报告图,由-系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型 ,纵轴表示分布情况。
直方图是数值数据分布的精确图形表示。这是一个连续变量 (定量变量)的概率分布的估计,并且被卡尔皮尔逊( Karl Pearson )首先引入。它是一种条形图。
为了构建直方图,第-步是将值的范围分段,即将整个值的范围分成一系列间隔 ,然后计算每个间隔中有多少值。这些值通常被指定为连续的,不重叠的变量间隔。间隔必须相邻,并且通常是(但不是必须的)相等的大小。
直方图也可以被归一化以显示”相对"频率。然后,它显示了属于几个类别中的每个案例的比例,其高度等于1.

参数

hist的参数非常多,但常用的就这六个,只有第一个是必须的 ,后面可选
arr:需要计算直方图的一维数组
bins:直方图的柱数,可选项,默认为10
normed:是否将得到的直方图向量归一化。默认为0
facecolor:直方图颜色
edgecolor:方图边框颜色
alpha:透明度
histtype:直方图类型, ‘bar’, ‘barstacked’, ‘step’, ‘stepilled’
返回值:
n:直方图向量,是否归一化由参数normed设定。当normed取默认值时,n即为直方图各组内元素的数量(各组频数)
bins: 返回各个bin的区间范围
patches:返回每个bin里面包含的数据,是一个list

plt.figure(figsize=(10,6))
plt.hist(df.评分,bins=20,edgecolor='black',alpha=0.5)
plt.show()

在这里插入图片描述

双轴图的画法

fig=figure(figsize=(10,8)) # 创做一个为10x8的画布
ax1=fig.add_subplot(11) # 做1*1个子图
ax2 = ax1.twinx()  # 让2个子图的x轴一样,同时创建副坐标轴。

# 作y=sin(x)函数
x1 = np.linspace(0, 2 * np.pi, 100)  # 表示在区间[0, 2π]之间取100个点作为横坐标
y1 = np.sin(x1)
ax1.plot(x1, y1)

# 作y=cos(x)函数
x2 = np.linspace(0, 2 * np.pi, 100)
y2 = np.cos(x2)
ax2.plot(x2, y2)
plt.show()

在这里插入图片描述

(5)根据电影时长和电影评分绘制散点图

用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为-组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。

x=df['时长']
y=df['评分']

plt.figure(figsize=(10,6))
plt.scatter(x,y,color='c',marker='p',label='评分')
plt.legend()
plt.title('电影时长与评分散点图',fontsize=20)
plt.xlabel('时长',fontsize=18)
plt.ylabel('评分',fontsize=18)

plt.show()

在这里插入图片描述

由于我们的数据量过大,所以画出来的图非常冗杂

可以发现,大部分的电影时长还是集中在100附近,评分大多在7分左右。

marker属性

设置散点的形状

Matplotlib 绘图标记

6.绘制各个地区的评分箱形图

箱形图( Box-plot )又称为盒须图、盒式图或箱线图.是种用作显示-组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用.常见于品质管理。它主要用于反映原始数据分布的特征.还可以进行多组数据分布特征的比较。箱线图的绘制方法是:先找出- -组数据的中位数、两个四分位数、上下边缘线;然后,连接两个四分位数画出箱子;再将上下边缘线与箱子相连接,中位数在箱子中间。

在这里插入图片描述

一般计算过程

(1 )计算上四分位数(Q3) ,中位数,下四分位数(Q1 )
(2)计算上四分位数和下四分位数之间的差值,即四分位数差(IQR,interquartile range ) Q3-Q1
(3 )绘制箱线图的上下范围,上限为上四分位数。下限为下四分位数。在箱子内部中位数的位置绘制横线
(4)大于上四分位数1.5倍四分位数差的值,或者小于下四分位数1.5倍四分位数差的值,划为异常值( outiers )
(5)异常值之外,最靠近上边缘和下边缘的两个值处,画横线,作为箱线图的触须
(6 )极端异常值,即超出四分位数差3倍距离的异常值,用实心点表示;较为温和的异常值,即处于1.5倍3倍四分位数差之间的异常值,用空心点表示
(7 )为箱线图添加名称,数轴等

参数详解
plt.boxplot(x,notch=None, sym=None, vert =None,whis=None, positions=None, widths=None,patch_artist=None, meanline=None, showmeans=None,showcaps=None, showbox=None, showfliers=None,boxprops=None, labels=None, flierprops=None,medianprops=None, meanprops=None,capprops=None, whiskerprops=None)
x :指定要绘制箱线图的数据;
notch :是否是凹口的形式展现箱线图,默认非凹口;
sym :指定异常点的形状,默认为+号显示;
vert :是否需要将箱线图垂直摆放,默认垂直摆放;
whis :指定上下须与上下四分位的距离,默认为1.5倍的四分位差;
positions :指定箱线图的位置,默认为[0,1,2…];
widths :指定箱线图的宽度,默认为0.5 ;
patch_artist :是否填充箱体的颜色;
meanline :是否用线的形式表示均值,默认用点来表示;

美国电影评分的箱线图
data=df[df.产地=='美国'].评分

plt.figure(figsize=(10,6))
plt.boxplot(data,whis=2,flierprops={'marker':'o','markerfacecolor':'r','color':'k'},
            patch_artist=True,boxprops={'color':'k','facecolor':'#9999ff'})
## 除了data,其他都为可选项,可以不写
plt.title('美国电影评分',fontsize=20)
plt.show()

在这里插入图片描述

多组数据箱线图
data1=df[df.产地=='中国大陆'].评分
data2=df[df.产地=='日本'].评分
data3=df[df.产地=='中国香港'].评分
data4=df[df.产地=='英国'].评分
data5=df[df.产地=='法国'].评分

plt.figure(figsize=(12,8))
plt.boxplot([data1,data2,data3,data4,data5],labels=['中国','日本','中国香港','英国','法国'],whis=2,flierprops={'marker':'o',            'markerfacecolor':'r','color':'k'},
            patch_artist=True,boxprops={'color':'k','facecolor':'#9999ff'})
plt.title('电影评分箱线图',fontsize=20)
plt.show()

在这里插入图片描述

设置坐标系颜色

data1=df[df.产地=='中国大陆'].评分
data2=df[df.产地=='日本'].评分
data3=df[df.产地=='中国香港'].评分
data4=df[df.产地=='英国'].评分
data5=df[df.产地=='法国'].评分

plt.figure(figsize=(12,8))
plt.boxplot([data1,data2,data3,data4,data5],labels=['中国','日本','中国香港','英国','法国'],whis=2,flierprops={'marker':'o',            'markerfacecolor':'r','color':'k'},
            patch_artist=True,boxprops={'color':'k','facecolor':'#9999ff'})
plt.title('电影评分箱线图',fontsize=20)
ax=plt.gca()  ## 获取坐标系
ax.patch.set_facecolor('gray')  ## 将坐标系设为灰色
ax.patch.set_alpha(0.3) ## 设置透明度
plt.show()

在这里插入图片描述

通过vert属性可以把图旋转过来
plt.boxplot([data1,data2,data3,data4,data5],labels=['中国','日本','中国香港','英国','法国'],whis=2,flierprops={'marker':'o',            'markerfacecolor':'r','color':'k'},
            patch_artist=True,boxprops={'color':'k','facecolor':'#9999ff'}
            ,vert=False)  ## 添加vert,置为false

在这里插入图片描述

7.相关系数矩阵图–热力图

data=df[['投票人数','评分','时长']]

pandas本身也封装了画图函数
我们可以画出各个属性之间的散点图,对角线是分布图

data=df[['投票人数','评分','时长']]
%pylab inline
result=pd.plotting.scatter_matrix(data[::100],diagonal='hist',color='k',alpha=0.3,figsize=(7,7,))

在这里插入图片描述

现在我们来画电影时长,投票人数,评分的一个相关系数矩阵图

seaborn是一个精简的python库,可以创建具有统计意义的图表,能理解pandas的DataFrame类型。

import seaborn as sns

corr=abs(data.corr()) ## 获得相关系数

plt.figure(figsize=(10,8)) ## 设置画布大小

sns.heatmap(corr,vmax=1,vmin=0,annot=True,annot_kws={'size':13,'weight':'bold'},
            linewidths=0.05) ## 看下面详解
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)
plt.show()

在这里插入图片描述

参数详解

seaborn.heatmap(data, vmin=None, vmax=None,cmap=None, enter=None,robust=False, annot=None, fmt= '.2g, annotkws=None,linewidths=0,linecolor='white', cbar=True, cbar_kws=None,cbar_ax=None,square=False, xticklabels= auto', yticklabels= auto', mask=None, ax=None, **kwargs)

(1 )热力图输入数据参数:
data:矩阵数据集,可以是numpy的数组( array),也可以是pandas的DataFrame。 如果是DataFrame ,则df的index/column信息会分别对应到heatmap的columns和rows ,即pt.index是热力图的行标, pt.columns是热力图的列标

(2 )热力图矩阵块颜色参数:
vmax.vmin:分别是热力图的颜色取值最大和最小范围,默认是根据data数据表里的取值确定

cmap:从数字到色彩空间的映射,取值是matplotlib包里的colormap名称或颜色对象,或者表示颜色的列表;

改参数默认值:根据center参数设定center,数据表取值有差异时,设置热力图的色彩中心对齐值;

通过设置center值,可以调整生成的图像颜色的整体深浅;

设置center数据时,如果有数据溢出,则手动设置的vmax、vmin会自动改变robust:默认取值False ;

如果是False ,且没设定vmin和vmax的值.
( 3 )热力图矩阵块注释参数:
annot(annotate的缩写):默认取值False ;

如果是True ,在热力图每个方格写入数据;

如果是矩阵,在热力图每个方格写入该矩阵对应位置数据fmt:字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字

annot_ _kws:默认取值False ;如果是True ,设置热力图矩阵上数字的大小颜色字体, matplotlib包text类下的字体设置;
(4 )热力图矩阵块之间间隔及间隔线参数:
linewidths:定义热力图里“表示两两特征关系的矩阵小块之间的间隔大小

linecolor:切分热力图上每个矩阵小块的线的颜色,默认是’white’

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/410451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python的输入与输出

✅作者简介&#xff1a;CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1&#x1f3c6; &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;零基础入门篇 &#x1f4ac;个人格言&#xff1a;不断的翻越一座…

力扣-刷题记录

189. 轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 力扣https://leetcode.cn/problems/rotate-array/description/ void rotate(int* nums, int numsSize, int k){if(k > numsSize){k % numsSize;}if(k0){f…

GlusterFS(GFS)分布式文件系统

目录 一.文件系统简介 1.文件系统的组成 2.文件系统的作用 3.文件系统的挂载使用 二.GlusterFS概述 1.GlusterFS是什么&#xff1f; 2.GlusterFS的特点 3.GlusterFS术语介绍 3.1 Brick&#xff08;存储块&#xff09; 3.2 Volume&#xff08;逻辑卷&#xff09; 3.3…

Qt Quick - 菜单综述

Qt Quick - 菜单综述使用总结一、概述二、菜单控件三、MenuBar 控件一、概述 菜单这一类&#xff0c;给我们提供了很多的便捷封住。 控件名功能Menu弹出式菜单&#xff0c;可以用作上下文菜单或弹出式菜单&#xff0c;也就是可以单独菜单上用&#xff0c;或者在鼠标右键&…

新能源汽车的充电、电池包的组成、充电的设备

一、新能源汽车的电池包 1、电动汽车电池包的组成 电动汽车的电池包主要由电池单体、模组构成。 电池单体指的是单个独立的锂电池&#xff0c;将多个电池单体组合在一起就成了模组&#xff0c;再把多个模组组合起来最终构成电池包。 不过这里有个特例&#xff0c;那就是比亚…

数据挖掘(2.4)--数据归约和变换

目录 1.数据归约 1.1数据立方体聚合 1.2特征选择 1.3数据压缩 1.4其他数据归约方法 回归分析 直方图 聚类 简单随机采样&#xff08;SAS&#xff09; 2.数据离散化 2.1基于信息增益的离散化 2.2基于卡方检验的离散化 2.3基于自然分区的离散化 3.概念层次生成 1.数…

3款免费好用的电脑录屏工具

案例&#xff1a;电脑录屏工具哪款免费又好用&#xff1f; “我想要挑选一款适合自己的好用的电脑录屏软件&#xff0c;但是我尝试了很多款录屏软件结果都不尽人意。免费版的软件功能少&#xff0c;录制效果差&#xff0c;想要高级功能需要付费解锁。想问问大家有没有免费好用…

如何搭建chatGPT4.0模型-国内如何用chatGPT4.0

国内如何用chatGPT4.0 在国内&#xff0c;目前可以通过以下途径使用 OpenAI 的 ChatGPT 4.0&#xff1a; 自己搭建模型&#xff1a;如果您具备一定的技术能力&#xff0c;可以通过下载预训练模型和相关的开发工具包&#xff0c;自行搭建 ChatGPT 4.0 模型。OpenAI提供了相关的…

day81【leetcode】打家劫舍专题

文章目录前言一、打家劫舍&#xff08;力扣198&#xff09;【相邻两间房不能偷】二、打家劫舍 II&#xff08;力扣213&#xff09;【围成一圈 相邻两间房不能偷】三、打家劫舍 III&#xff08;力扣337&#xff09;【树形DP】每日一题day81&#xff1a;链表中的下一个更大节点&a…

Java:jdk的安装以及hello world

由于本人头发较多&#xff0c;常常被认为是不用功的程序员&#xff1b;故&#xff0c;我来学学Java&#xff0c;希望我变秃了也变强了&#xff01; 首先是java的安装&#xff0c;根据我司java的建议&#xff0c;安装了jdk8与jdk17&#xff01;因为在众多的版本中&#xff0c;只…

3.7——静态成员

静态数据成员 静态成员&#xff0c;指的是在c类中声明成员时可以加上static关键字&#xff0c;这样声明的成员就叫做静态成员&#xff08;包括数据成员和成员函数&#xff09;。即声明为static的类成员或者成员函数便能在类的范围内同享。 说明&#xff1a; 1&#xff09;静态数…

WordGPT正式版4.0安装教程

下载 https://www.xsoftnet.com/share/a0004MZyPvB5k.html产品介绍&#xff1a; WordGPT正式版来了&#xff0c;V4.0震撼发布&#xff0c;兼容Office与WPS&#xff0c;集提纲生成、内容创作、文本补全、文章润色、归纳总结、自定义提示词、快捷排版为一体的多场景智能文案创作…

IT知识百科:什么是超融合数据中心网络?

超融合数据中心网络&#xff08;Hyper-Converged Data Center Network&#xff09;是一种基于软件定义网络&#xff08;SDN&#xff09;和虚拟化技术的新型数据中心网络架构。该架构将计算、存储和网络三大要素融合在一起&#xff0c;实现了网络、计算、存储资源的统一管理&…

HTML5 拖放

文章目录HTML5 拖放拖放浏览器支持HTML5 拖放实例设置元素为可拖放拖动什么 - ondragstart 和 setData()放到何处 - ondragover进行放置 - ondropHTML5 拖放 拖放&#xff08;Drag 和 drop&#xff09;是 HTML5 标准的组成部分。 拖放 拖放是一种常见的特性&#xff0c;即抓取…

没有两把刷子还敢来面试测试开发工程师?

目录 前言 1.对测试开发的理解 2.为什么做测试而不是去做开发 3.如何处理矛盾 4.职业发展 5.你认为测试人员需要具备哪些素质。&#xff08;你有哪些优点围绕这些来说&#xff09; 6.你为什么能够胜任这个岗位 7.测试方法 黑盒测试 白盒测试 8.测试的阶段 9.测试的类…

【ROS2指南-7】理解ROS2的Action

目标&#xff1a; 理解并学习ROS 2 中的Action通信方式。 教程级别&#xff1a;初学者 时间&#xff1a; 15分钟 内容 背景 先决条件 任务 1 设置 2 使用动作 3 ros2节点信息 4 ros2 动作列表 5 ros2 动作信息 6 ros2界面展示 7 ros2 动作 send_goal 概括 下一步 …

敏捷开发项目如何做好中长期规划

在一次与客户的方案交流中&#xff0c;我们的团队意识到研发软件产品和建造房屋是比较相似的工作&#xff0c;两者都是长期项目&#xff0c;需要多个团队相互协调&#xff0c;都会有验收方进行确认。并且在项目进行过程中&#xff0c;想法总是在变化&#xff0c;不断会有新的需…

易点易动固定资产管理系统如何解决固定资产管理中的个性化需求

随着企业规模的扩大和企业管理需求的多样化&#xff0c;固定资产管理已经成为企业日常运营的重要环节。然而&#xff0c;传统的固定资产管理方式在满足企业个性化需求方面表现出明显的不足。在这种背景下&#xff0c;易点易动固定资产管理系统应运而生&#xff0c;为企业提供了…

代码随想录Day51

今天继续学习动规解决相关问题。 337.打家劫舍||| 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root 。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有…

【RabbitMQ学习日记】—— 初识RabbitMQ

一、消息队列 1.1 MQ的相关概念 1.1.1 什么是MQ MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是 message 而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息。…