首页 > 编程语言 >【Python数据可视化】matplotlib库的基本配置

【Python数据可视化】matplotlib库的基本配置

时间:2024-09-01 14:25:37浏览次数:7  
标签:plot plt Python matplotlib 可视化 rcParams np import

1.1 matplotlib的介绍

(1)安装

anaconda环境:自带matplotlib,无需另外安装
     
其他Python环境:
             1. win+R 输入cmd进入控制台。
             
             2. 查看是否有pip(下载Python解释器会自带):pip --version 
             
             3. 更新一下 pip:python.exe -m pip install --upgrade pip
        
             4. 将 pip 从国外源改成国内源(在Pycharm终端使用) :
                 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
                 pip config set global.install.trusted-host mirrors.aliyun.com
                 
             5.下载matplotlib库:python -m pip install matplotlib 
             
             6.下载pandas库:pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/
             
             7.下载完后看看里面有没有 matplotlib pandas:python -m pip list 

(2)课程介绍

matplotlib是Python中的数据可视化软件包之一,支持跨平台运行(不同的操作系统),它是Python常用的2D绘图库,同时它也提供了一部分3D绘图接口。

matplotlib通常与Numpy、Pandas一起使用,是数据分析中不可或缺的重要工具之一。

(3)导包

# 导入 数据分析 三大部分
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

1.2 matplotlib的绘图基本参数配置

(1)导包

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

(2)配置

# 运行时配置参数
# rcParams:runtime configuration Parameters

# 让图片可以显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'  

# 让图片中可以显示负号
plt.rcParams['axes.unicode_minus'] = False



# 如果浏览器不显示图片,就需要加上这句话
%matplotlib inline

# 支持svg矢量图
%config Inlinebackend.figure_format = 'svg'

(3)查看自己电脑上的字体库

from matplotlib.font_manager import FontManager

fm = FontManager()
my_font = set(f.name for f in fm.ttflist)
print(my_font)

在这里插入图片描述

案例:画一个2D基本绘图(抛物线)

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

plt.rcParams['font.sans-serif'] = 'SimHei'  
plt.rcParams['axes.unicode_minus'] = False

# 定义抛物线
x = np.linspace(-5,5,50)   # 等差数列  -5 ~ 5之间等分成50份       提供50个点(数据)
y = x ** 2

# 画图:线性图(折线图)
plt.plot(x,y)

# 输出结果
plt.show() 

在这里插入图片描述

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

plt.rcParams['font.sans-serif'] = 'SimHei'  
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(-5,5,5)              # 提供5个点(数据)
y = x ** 2

plt.plot(x,y)

plt.show()

在这里插入图片描述

(4)样式和颜色

样式(ls:line style  ):
‘-’  ‘--’  ‘-.’  ‘:’  ‘.’   ‘,’ ‘ ’
 o   ^   v   <   >   s   +   x   D
 d   1   2   3   4   h   H   p   |  _
 
颜色(color):
 b(蓝色)  g(绿色)  r(红色)  c(青色)  m(品红)  y(黄色)  k(黑色)  w(白色)

案例:将抛物线画成红色,并用虚线代替直线

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

plt.rcParams['font.sans-serif'] = 'SimHei'  
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(-5,5,50)              
y = x ** 2

plt.plot(x,y,color = 'r' , ls = '--')
# color='r',ls='--'   的另一种写法 ————>   ’r--’

plt.show()

在这里插入图片描述

1.3 matplotlib的画布配置

(1)配置画布

# figsize:画布大小(宽度,高度)
# dpi:分辨率  像素密度(越大则图撑开的越大)
# facecolor:背景颜色

plt.figure(figsize = '' , dpi = '' , facecolor = '')

案例:画一个正弦曲线

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

# 画布配置
plt.figure(figsize=(6,2) , dpi = 200 , facecolor='red')

# 定义正弦曲线
x = np.linspace(0 , 2*np.pi)   # 2*np.pi = π
y = np.sin(x)

# 画图
plt.plot(x,y)

# 输出结果
plt.show()

在这里插入图片描述

plt.figure(figsize=(6,2) , dpi = 200,facecolor = 'red')

在这里插入图片描述

(2)设置网格

plt.grid()

案例:画一个背景为网格的正弦曲线

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(6,2) , dpi = 100 , facecolor='red')

plt.grid()

x = np.linspace(0 , 2*np.pi) 
y = np.sin(x)

plt.plot(x,y)

plt.show()

在这里插入图片描述

案例:在一个画布上绘制多个图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize = (5,3))

x = np.linspace(0,8)

plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x) , 'r')
plt.plot(x,-np.sin(x), 'g')

plt.show()

在这里插入图片描述

案例:立即显示图片

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize = (5,3))

x = np.linspace(0,8)

plt.plot(x,np.sin(x))
plt.show()

# 第二个plt.show( )会在新的画布中画

plt.plot(x,np.cos(x) , 'r')
plt.plot(x,-np.sin(x), 'g')
plt.show()

在这里插入图片描述
在这里插入图片描述

1.4 matplotlib的多图布局

(1)用subplot()函数 画子图

案例:在一块画布中画4个子图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(8,5))

x = np.linspace(-np.pi,np.pi,30)
y = np.sin(x)

# 子图1
ax1 = plt.subplot(221)   # 2行2列中的第1个图
ax1.plot(x,y)
ax1.set_title('子图1')

# 子图2
ax2 = plt.subplot(222)   # 2行2列中的第2个图
ax2.plot(x,y)
ax2.set_title('子图2')

# 子图3
ax3 = plt.subplot(2,2,3)   # 2行2列中的第3个图
ax3.plot(x,y)
ax3.set_title('子图3')

# 子图4
ax4 = plt.subplot(2,2,4)   # 2行2列中的第4个图
ax4.plot(x,y)
ax4.set_title('子图4')

plt.show()

在这里插入图片描述

# 自动调整布局(变紧凑  防重叠)
fig.tight_layout()

在这里插入图片描述

案例:在一块画布中画3个子图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(8,5))

x = np.linspace(-np.pi,np.pi,30)
y = np.sin(x)

# 子图1
ax1 = plt.subplot(2,2,1)
ax1.plot(x,y)

# 子图2
ax2 = plt.subplot(2,2,2)
ax2.plot(x,y)

# 子图3
ax3 = plt.subplot(2,1,2)    # 2行1列中的第2行
ax3.plot(x,np.sin(x*x))

fig.tight_layout()

plt.show()

在这里插入图片描述

(2)用subplots()函数 画子图

plt.subplots(3,3)   # 返回一个二维数组

在这里插入图片描述

案例:画3行3列的子图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(0 , 2*np.pi)

fig , ax = plt.subplots(3,3)
ax1 , ax2 , ax3 = ax
ax11 , ax12 ,ax13 = ax1
ax21 , ax22 ,ax23 = ax2
ax31 , ax32 ,ax33 = ax3

# fig 设置画布大小
fig.set_figwidth(8)
fig.set_figheight(5)

# 第一行
ax11.plot(x , np.sin(x))
ax12.plot(x , np.cos(x))
ax13.plot(x , np.tan(x))

# 第二行
ax21.plot(x , np.tanh(x))
ax22.plot(x , np.cosh(x))
ax23.plot(x , np.sinh(x))

# 第三行
ax31.plot(x , np.sin(x) + np.cos(x))
ax32.plot(x , np.sin(x*x) + np.cos(x*x))
ax33.plot(x , np.sin(x) * np.cos(x))


plt.tight_layout

plt.show()

在这里插入图片描述

1.5 matplotlib的图形嵌套

(1)用add_subplot()函数 画嵌套图

案例:画一个嵌套1个图的嵌套图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(8,5))

# 子图1
axes1 = fig.add_subplot(1,1,1)
axes1.plot([0,1],[1,3])

# 子图2  嵌套图
axes2 = fig.add_subplot(2,2,1 , facecolor = 'pink')
axes2.plot([1,3])

plt.show()

在这里插入图片描述

(2)用 axes()函数 或 add_axes()函数 画嵌套图

案例:画一个嵌套2个图的嵌套图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(8,5))

# 图1
x = np.linspace(0,2*np.pi,30)
y = np.sin(x)

plt.plot(x,y)

# 嵌套图1

# 参数顺序   [left,bottom,width,height]
axes1 = plt.axes([0.55,0.55,0.3,0.3])
axes1.plot(x,y,color = 'green')

# 嵌套图2
axes2 = fig.add_axes([0.18,0.18,0.3,0.3])
axes2.plot(x,y,color = 'red')

plt.show()

在这里插入图片描述

1.6 matplotlib的双轴显示(组合图)

exp()函数:指数函数

案例:画一个双轴显示的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(6,4))

x = np.linspace(0,10,100)

# 图1
axes1 = plt.gca()          # 得到 当前轴域
axes1.plot(x,np.exp(x), color = 'red')
axes1.set_xlabel('time')
axes1.set_ylabel('exp',color = 'red')
axes1.tick_params(axis='y',labelcolor = 'red')

# 图2
axes2 = axes1.twinx()      # 和图1 共享x轴
axes2.plot(x,np.sin(x),color = 'b')
axes2.set_ylabel('sin',color = 'b')
axes2.tick_params(axis='y',labelcolor = 'b')

plt.tight_layout

plt.show()

在这里插入图片描述

1.7 matplotlib的绘图属性

在这里插入图片描述
(1)图例

案例:画一个具有图例的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(6,4))

x = np.linspace(0,2*np.pi)

plt.plot(x,np.sin(x),label = 'sin')
plt.plot(x,np.cos(x),label = 'cos')

# 图例
plt.legend()

plt.show()

在这里插入图片描述

案例:画一个有具体图例位置的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(6,4))

x = np.linspace(0,2*np.pi)

plt.plot(x,np.sin(x),label = 'sin')
plt.plot(x,np.cos(x),label = 'cos')

plt.legend(['sin','cos'],fontsize = 18,loc = 'center',ncol = 2)    # legent()函数默认放置在左下角    ncol=‘’ 显示成几列

# 图例的具体位置 (x,y,width,height)
bbox_to_anchor = [0,0,1,1]

plt.show()

在这里插入图片描述

(2)线条属性

在这里插入图片描述

案例:画一个含有多个线条属性的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(6,4))

x = np.linspace(0,2*np.pi,20)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x,y1, color = 'r', marker = 'o' , ls = '--' , lw = 1 , label = 'sinx' , mfc = 'y')

plt.plot(x,y2, color = 'b', marker = '*' , ls = '-' , lw = 2 , label = 'cosx' , mfc = 'w' , markersize = 10)

plt.plot(x,y1-y2, color = 'y', marker = '^' , ls = '-' , lw = 3 , label = 'sinx-cosx' , mfc = 'b' ,
         markersize = 10,
         alpha = 0.5    # 透明度  范围在0~1之间
         )

plt.plot(x,y1+y2, color = 'orange', marker = '>' , ls = '-.' , lw = 4 , label = 'sinx+cosx' , mfc = 'y' ,
         markersize = 10 ,          # 标记大小
         markeredgecolor = 'green' ,# 标记(点)的边缘颜色
         markeredgewidth = 2        # 标记(点)的边缘宽度
         )

# 图例
plt.legend()

plt.show()

在这里插入图片描述

(3)坐标轴刻度

案例:画一个具有坐标轴刻度值的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(5,3))

x = np.linspace(0,10)
y = np.sin(x)

plt.plot(x,y)

plt.xticks(ticks = np.arange(0,11,1),    # 设置x轴的刻度值
           fontsize = 20 ,
           color = 'r' ,
           )

plt.yticks(ticks = [-1,0,1] ,            # 设置y轴的刻度值
           labels = ['min','0','max'] ,  # 显示刻度标签
           fontsize = 20,
           color = 'b',
           ha = 'right'
           )                 # 水平对齐方式

plt.show()

在这里插入图片描述

(4)坐标轴范围

案例:画一个具有坐标轴范围的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(5,3))

x = np.linspace(0,2*np.pi)
y = np.sin(x)

plt.plot(x,y,c = 'r')

plt.xlim(-2,8)     # 设置x轴的坐标轴范围
plt.ylim(-2,2)     # 设置y轴的坐标轴范围

# 另一种坐标轴范围方法  使用 axis()函数: [xmin,xmax,ymin,ymax]  
# plt.axis([-2,8,12,2])


plt.show()

在这里插入图片描述

(5)坐标轴配置

案例:画一个具有坐标轴配置的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(5,3))

x = np.linspace(0,2*np.pi)
y = np.sin(x)

plt.plot(x,y,c = 'r')

# option

# off:不显示坐标轴
# equal:让x轴和y轴 刻度距离相同
# scaled: 自动缩放坐标轴和图片匹配
# tight:紧凑型自动适配图片
# square:让画布呈现正方形  x轴和y轴宽高一致
plt.axis('scaled')

plt.show()

在这里插入图片描述

(6)标题和网格线

案例:画一个具有标题和网格线的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(5,3))

x = np.linspace(0,10)
y = np.sin(x)

plt.plot(x,y)

# 图的标题
plt.title('sin曲线' , fontsize = 20 , loc = 'center')

# 父标题
plt.suptitle('父标题' ,
             y = 1.1 ,   # 位置
             fontsize = 26
             )

# 网格线
# axis():让哪个轴显示网格线
plt.grid(ls = '--' , lw = 0.5 , c = 'gray' , axis = 'x')

plt.show()

在这里插入图片描述

(7)标签

案例:画一个坐标轴具有标签的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(5,3))

x = np.linspace(0,10)
y = np.sin(x)

plt.plot(x,y)

# 坐标轴的标签
# rotation:旋转角度
plt.xlabel('y=sin(x)' , fontsize = 20 , rotation = 45 )
plt.ylabel('y=sin(x)' , fontsize = 20 , rotation = 90 , horizontalalignment = 'right' )

plt.title('正弦曲线')

plt.show()

在这里插入图片描述

(8)画文本

案例:画一个具有文本的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(5,3))

x = np.linspace(1,10,10)
y = np.array([60,30,20,90,40,60,50,80,70,30])

plt.plot(x,y,ls = '--',marker = 'o')

# 画文字
# zip():将x,y两个数组中的数据一一对应    组合后形成一个元组
for a,b in zip(x,y):
    plt.text(
        x=a+0.3,   # x轴坐标
        y=b+1,   # y轴坐标
        s=b,   # 文本内容
        fontsize = 10,
        c = 'r',
        ha = 'center',   # 水平对齐方式
        va = 'center'   # 垂直对齐方式

    )
    
plt.show()

在这里插入图片描述

(9)注释标注

案例:画一个具有注释标注的图

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(5,3))

x = np.linspace(1,10,10)
y = np.array([60,30,20,90,40,60,50,80,70,30])

plt.plot(x,y,ls = '--',marker = 'o')

# 注释:标注
plt.annotate(
    text = '最高销量',          # 标注内容
    xy = (3.8,90),              # 标注的坐标点:箭头指向的位置
    xytext = (1,80),          # 标注内容的位置
    arrowprops = {
        'width':2,            # 箭头线的宽度
        'headwidth':8,        # 箭头头部的宽度
        'facecolor':'blue'    # 箭头的背景颜色
    }
)

plt.show()

在这里插入图片描述

(10)保存图片

案例:保存一个图(方法一)

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(5,3))

x = np.linspace(0,2*np.pi)

plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))

# 保存图片
plt.savefig('sincos.png')

plt.show()

在这里插入图片描述

案例:保存一个图(方法二)

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

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(5,3))

x = np.linspace(0,2*np.pi)

plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))

# 保存图片   注意不是运行图!!!!
fig.savefig(fname='sincos2.png',       # 文件拓展名支持:png  jpg
            dpi=100,                   # 保存图片的像素密度
            facecolor = 'pink',
            pad_inches = 1              # 内边距
            )

plt.show()

在这里插入图片描述
在这里插入图片描述

标签:plot,plt,Python,matplotlib,可视化,rcParams,np,import
From: https://blog.csdn.net/By18825481262/article/details/141721704

相关文章

  • [开题报告]flask框架郴州市高校宿舍管理系统【开题+程序+论文】(python+程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着郴州市高等教育的快速发展,高校学生规模不断扩大,宿舍管理成为高校后勤管理中的重要环节。传统的手工记录和管理方式已难以满足日益增长......
  • [开题报告]flask框架宠物寄养系统a769y(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快,宠物已成为许多家庭不可或缺的一员,它们不仅带来了欢乐与陪伴,更成为了人们情感寄托的重要对象。然而,由于工作、旅行......
  • [开题报告]flask框架宠物系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和人们生活水平的提高,宠物已成为现代家庭中不可或缺的一员,它们不仅为人们带来欢乐与陪伴,还促进了人与自然的和谐共处......
  • 【Python】如何使用pip,安装第三方库和qrcode、xlrd库的使用
    第三方库第三方库就是别人已经实现好了的库,我们可以拿过来直接使用虽然标准库已经很强大了,但是终究是有限的,而第三方库可以视为是集合了全世界Python程序猿的智慧,可以说是几乎无穷无尽使用pippip是Python内置的包管理器所谓包管理器就类似于我们平时使用的手机......
  • python 写一个工具, 上传到 pypi
    起因把自己的图片工具,整理为一个库,package,然后发布出去!就像是一个人喜欢搜集贝壳,现在整理一下,用一根线把好看的贝壳串起来,做成一个项链。整理记录是很有必要的。比如写一个pythonpackage.我之前明明做过(2022年)。项目代码:假设项目代码已经写好了,下面是打包发布......
  • [Python手撕]LRU
    classNode:def__init__(self,key=0,value=0):self.key=keyself.value=valueself.prev=Noneself.next=NoneclassLRUCache:def__init__(self,capacity:int):self.capacity=capacityself.......
  • [Python手撕]LFU
    classNode:def__init__(self,key=0,val=0,pre=None,next=None,fre=0,tail=None):self.key=keyself.val=valself.pre=preself.next=nextself.fre=freself.tail=tailclassLFUCache:d......
  • python读取txt文本文件-批量更改mysql数据库中一批用户的用户名的python脚本保存及转
    一、python读取txt文本文件-批量更改mysql数据库中一批用户的用户名的python脚本保存    做一个简单的事:使用python读取一个txt文件,里面存储着N行用户id,需要一行行读取后再读取另一个存储用户昵称的txt文件,判断昵称是否有重复,如果没有重复就将数据库中的当前uid用户的昵称......
  • Python 数据结构——二叉树(最最最最最实用的二叉树教程)
    本文章以实用为主,所以不多废话直接开整本文所介绍的二叉树是最基础的二叉树,不是二叉搜索树,也不是平衡二叉树,就基本的二叉树二叉树的创建基本二叉树的创建其实比链表还要简单,只需创建一个节点的类即可,随后用指针将其串起来。不同于链表的是,二叉树为一个父节点连接到两个子节......
  • 用Python解决预测问题_对数线性模型模板
    对数线性模型(Log-linearmodel)是统计学中用于分析计数数据或频率数据的一类模型,特别是在多维列联表(contingencytables)分析中非常常见。这种模型通过取对数将乘法关系转换为加法关系,从而简化了数据分析。在对数线性模型中,我们通常对观测频数的对数进行建模,模型的形式可以表示......