|

点击上方蓝字和“好玩的MATLAB”一起快乐玩耍吧!
& _: ^$ z8 b) K4 f+ t* T# W0 ~2 f9 a% L, @9 y1 r2 e2 K
0krms2x4ulc64018953206.jpg
/ z: v7 T, r8 W6 B+ l# C好玩的matlab0 d, a$ B$ b4 x: J! k
带你解锁不一样的matlab新玩法( T5 K/ s3 ?, ], S" y5 v
2 O" \# h1 \& S) O今天教大家怎么利用Matlab画层次聚类热力图,喜欢此推文的小伙伴们记得点赞+关注+分享!
1 u' X- o- Q* e效果图1 @5 |" b. I; o1 f2 T
' L" {: F: ~. B- e7 S
ivtyhuxjjxt64018953306.png
0 w6 Q) g& ^$ w _" H/ R
|
6 z( I- Q% q, I' Q2 E* T' f: ]; @
bfiu5jl0mgb64018953406.png
: h2 l# c2 i- R* |
| 0 T7 k5 H: a( Y3 O, R( a
1t2f10jwquq64018953506.png
( L& b% l8 ^4 E2 s# E6 a' o1 ?" O
| " _5 ?9 ^, c' r* i" c( ~7 v4 m
bffa1gvgv4e64018953606.png
/ ?7 p" P$ e) T6 j2 _
|
9 _& A, V; m' C) q) J1 Q. o* ?
代码简介- {2 Z* _$ ^7 i x
& w! ~6 x/ E: B4 q7 w# w+ n+ D这个代码绘制的图包含两个树状图(dendrogram)和一个热图(heatmap)。
3 Q% W$ _* P- T! P3 D树状图(dendrogram):是一种树形图,用于表示基于距离的层次聚类过程。它可以展示X和Y数据之间的相似性和关联性。在这个代码中,左侧面板显示X数据的树状图,顶部面板显示Y数据的树状图。
+ L7 W/ Z( I/ c8 l& x& N4 \9 g r热图(heatmap):是一种以颜色编码的方式显示矩阵数据的可视化方法。矩阵的每个单元格根据对应的数据值被填充上相应的颜色。热力图颜色表示XY数据的相关性大小,热力图用Surf 的第二视角展现。
" d/ I2 u6 \/ Q2 F8 ^8 T1 v: P$ c$ b' f
全部代码" V8 g" v/ R/ J: \" M* E* I+ F$ I
: K& y: E7 q) q- o) v) M9 i% 清除屏幕clc;clear;close all;
; m U6 A7 [& k% O8 B3 t5 b9 Y%@author:好玩的Matlab2 S8 r8 [+ K& }& |
% 加载数据load("data.mat")% data=round(rand(30,30)*8);: O7 z8 A3 x: c \+ L9 v8 O
% 计算距离并生成树状图[zGenes, zSamples] = computeDendrograms(data);
4 f3 h, i; G8 _" x$ @) C7 w% 绘制树状图和热图plotDendrogramsHeatmap(data, zGenes, zSamples);1 v5 v$ m$ q- D4 I
% 计算距离并生成树状图function [zGenes, zSamples] = computeDendrograms(data)zGenes = linkage(pdist(data'));zSamples = linkage(pdist(data));end
4 @4 m! @& Y1 e4 W# o0 z/ T; x% 绘制树状图和热图function plotDendrogramsHeatmap(data, zGenes, zSamples)% 设置绘图参数figure('units', 'normalized', 'Position', [0.5641, 0.2407, 0.3807, 0.6426]);mainPanel = axes('Position', [.25, .08, .69, .69]);leftPanel = axes('Position', [.08, .08, .17, .69]);topPanel = axes('Position', [.25, .77, .69, .21]);1 [# R& | y9 ]2 {; N! o [6 A
img=imread('./pic/pic7.jpg');[ind,map] = rgb2ind(img,6);% 颜色排序 https://stackoverflow.com/questions/2245842/sorting-colors-in-matlab/2246189#2246189map = rgb2hsv(map);map = sortrows(map, [-1 -3 2],'ascend'); %# sort first by Hue, then by valuemap = hsv2rgb(pink);cMap=makeColorMap(map,30);
9 Q! j# k7 a4 E3 a% 设置颜色映射colorMap = colormap('jet');colorMap = colorMap(end:-1:1, :);colormap(colorMap);
# V* T5 w. t" u. z0 ]; W# }% 绘制树状图axes(leftPanel);h = dendrogram(zSamples, 'orient', 'left','ColorThreshold','default');set(h, 'color', [0, 0, 0], 'linewidth', 2);axes(topPanel);h = dendrogram(zGenes, 0,'ColorThreshold','default');set(h, 'color', [0, 0, 0], 'linewidth', 2);8 @0 h2 C. U, ~2 F- y# ^% |: f2 u
% 获取树状图的排序并绘制热图sampleOrder = str2num(get(leftPanel, 'yticklabel'));geneOrder = str2num(get(topPanel, 'xticklabel'));axes(mainPanel);surf(data(sampleOrder, geneOrder), 'edgecolor', [.8, .8, .8]);view(2);set(mainPanel, 'Xticklabel', [], 'yticklabel', []);3 j+ `) G# u5 ^4 ?
% 调整坐标轴set(leftPanel, 'ylim', [1, size(data, 1)], 'Visible', 'Off');set(topPanel, 'xlim', [1, size(data, 2)], 'Visible', 'Off');axes(mainPanel);axis([1, size(data, 2), 1, size(data, 1)]);
8 ]5 z( v0 B$ K7 x% 添加注释axes(mainPanel);xlabel('X', 'Fontsize', 18, 'FontName', 'Times New Roman');colorbar('Location', 'northoutside', 'Position', [0.0584, 0.8761, 0.3082, 0.0238]);annotation('textbox', [.5, .87, .4, .1], 'String', 'test', 'Linestyle', 'none', 'fontsize', 18);) C* G# K1 S9 u- O
% 显示坐标轴标签set(leftPanel, 'yaxislocation', 'left');set(get(leftPanel, 'ylabel'), 'string', 'Y', 'Fontsize', 18, 'FontName', 'Times New Roman');set(findall(leftPanel, 'type', 'text'), 'visible', 'on', 'FontName', 'Times New Roman');. F5 B8 s+ v! z" |2 y, N" c
% 设置图形参数set(gcf, 'color', [1, 1, 1], 'paperpositionmode', 'auto');end$ S7 ^; V0 N# y! l0 ]
* }4 ]: k6 P7 I5 ~
- -THE END- -
. d& V* t+ E4 d! w( ?# M4 C源码下载:gitee下载:
{) v3 B ?9 N( L E
imw5dylwysh64018953707.png
* [, l4 R4 {- @, ^
扫一扫9 e, z' }4 i+ C9 U
参考资料:
' v) G+ f( H. E6 z5 D【1】https://www.mathworks.com/help/releases/R2021b/stats/dendrogram.html【2】https://stackoverflow.com/questions/2245842/sorting-colors-in-matlab/2246189#2246189( s) \0 O: S# ~5 A
3 |$ N' r9 I. e" E! A- a8 p" }
ejrogg2grz264018953807.png
7 F- @ x: R+ E. M8 R, I送书活动
( X# e; g. y& A" r* X6 A
wbrrcbn0qw064018953907.png
4 f2 a4 d# I# h" U8 t
% }+ T" x8 E9 [( Y$ E; a& ]0 I8 ]: B1 S& Z% V6 h$ \( ~
包邮赠送 「电子工业出版社」赞助《从零开始学Latex》共7本,这是今年刚刚上架的Latex图书!此书适合:Latex零基础入门人员、学术研究工作者、高校师生、图书排版、编辑人员,感兴趣的朋友推荐入手一本。+ Q6 S4 a1 }' {
1 t \# c+ A* r H$ d6 T4 n
【内容简介】
S3 }8 q! F; i: ?2 @7 e4 @* f本书从LaTeX的环境安装配置开始介绍,逐步带领读者了解LaTeX的使用语法和应用场景。本书重点介绍了LaTeX的文本排版,从文本排版出发,逐步了解图表的排版方式。根据LaTeX文档的类型差异,介绍了幻灯片的使用方法。在学习了基本文档类应用和语法规则之后,扩展了LaTeX的自定义命令和环境,提供了很多参考资料和学习网站,方便读者进一步探究。本书分为7 章,涵盖的主要内容有LaTeX文本排版语法、数学公式排版方法、图表应用方法、幻灯片制作方法和定制LaTeX。其中文本排版是本书的核心内容,LaTeX本身就是为文本排版而设计,它包括了文字、符号、字体、段落、标题等内容。编辑数学公式是LaTeX的优势,包括数学符号、公式环境及常见公式模板等。图表包括了图像和表格,幻灯片包含了很多主题样式。在掌握基础知识后,扩展了LaTeX的自定义命令和环境,并列举了很多学习资源。【目录一览表】
. `$ T6 b: J$ A' i# t& J往下滑动查看目录详情目录5 z6 K9 H8 d$ N6 I4 Y9 r( A
*一部分 LaTeX 简介
) ?: k$ c/ b* F' a*1 章 初识LaTeX........1
+ {' T3 C# s4 W6 A3 S1.1 认识LaTeX........1/ ^' I9 ^8 L: ~3 t! F8 J
1.1.1 历史简介 1! ^; w: n' U6 p
1.1.2 编辑工具 2
6 C' m! ~. w/ O( W4 V9 I1.2 基本结构.......3
; v. \; X6 B7 j* M5 k7 |# ~4 S1.2.1 *一个LaTeX 文档 3
' m9 J0 t" G% M0 ?+ B; c( @1.2.2 正文段落 7 |) x, }7 _: `6 }- {6 @+ d" z j
1.2.3 数学公式 11
7 A1 o/ ?3 {, M6 \1.2.4 图形表格 13
. } x& Y- ^ |" R1.2.5 幻灯片 15( H8 d, i' n8 y4 |; _% A
1.3 延伸学习·......17: h m- W# j ~3 N8 A
1.3.1 命令和环境 17
( }# ^+ B0 v; s K1.3.2 错误调试 18
6 z( M+ L, l6 k1 ]*二部分 LaTeX 的核心内容
9 c( a$ V% t/ c% `*2 章 文本........21
& K, a- _' N1 r' a- ~4 j5 u+ P- {2.1 文字·.......21
3 R$ g5 P* i9 l* E; b- h2.1.1 语言 21
# T% O/ W/ }, e9 w& H6 y2 ^2.1.2 文字 22
( k1 }, {4 B: @: K" s/ p2.2 符号......24
5 K' P( d+ J8 ^" p' {2 c% x' |2.2.1 特殊符号 25+ t' E# ?1 {8 e
2.2.2 标点符号 265 U. }4 ]3 K8 t$ o/ T2 L
2.2.3 抄录 27
X0 J5 P1 E3 P' n0 x2.2.4 着重号 29
* q7 [+ X( j5 b/ k2.2.5 空格 303 Y: R s( C# V4 O3 E
2.3 字体字号......32' d7 U& B+ s* R+ e8 ]3 t& k
2.3.1 字体 32* P, K" z' _- }; a1 |# ^# p
2.3.2 字号 369 Z5 i3 X! F% \1 y; w
2.3.3 大小写转换 39. K$ A: D1 S7 w: \, R
2.3.4 间距 403 W! P! x, ^ G# n2 E6 o7 [
2.4 段落.......423 Z( M, {& S+ a# v" G# F
2.4.1 缩进和换行 43
1 r+ P8 L4 M( [ ] S& g$ O% t2.4.2 文本对齐 440 B' D2 T" V4 [/ `9 H
2.4.3 行间距 46
: r8 i4 T' E5 U6 N; b; |4 p9 Y2.4.4 首字下沉 48
! {; `/ w8 I* J# i; d# w2.4.5 图文环绕 50
( y l6 l& I, Z4 V& O5 `2.4.6 文本环境 52
2 d% ]. v! G/ R7 S% H: A$ G! t2.4.7 列表环境 53
! m5 n' V7 v! O+ f2.4.8 定理环境 58
, \" P7 U* h: H- E2.4.9 代码环境 61
5 ~, }3 c/ B* B% N5 \% `2.4.10 行号 71( J) o- E! q% P7 p5 }3 I
2.4.11 分栏 75
" y% v- m* ^+ v2.4.12 盒子 80" [6 ?: K$ G- m% Y1 B1 L
2.5 标题·.....82
6 ^" e" z' a- X: p P/ ~9 }: ?2.5.1 文章标题 83, I, G' g$ d0 l& Q0 l0 b; H3 o
2.5.2 浮动体 90
6 ]) T, ~# z+ P0 |! t3 A! a: N5 u4 a2.5.3 图/表标题 92
E8 b! o/ ^' U* f/ s" r2.6 版式.......97. ~& S; F1 S2 W; w# Z) O" T
2.6.1 页眉页脚 97
/ a4 V# L0 I1 v A* M' |2.6.2 页码 102
* L. n9 N) w1 y" W2.6.3 脚注 104
1 q6 P$ ~6 c$ k! l$ }. N: o, v6 @- g2.7 索引·.......108: g; ]+ ?! j, f" T4 S" j3 j
2.7.1 目录 1081 _4 }: Y. e9 ~ g3 G
2.7.2 引用 111
- t! x# E# z& h# w5 ]' \; n c2.7.3 参考文献 113
9 Y, W) v" t$ Z- r2.8 文档和页面·......118
5 V# S2 w1 e5 U! `4 d- G8 v* f4 q2.8.1 页面 119( \% N [/ T3 |: U- B' r
2.8.2 文档类型 126- q6 y: U A1 r
第3 章 数学公式·......128/ F, |: D3 T* ?9 ^
3.1 数学符号·.....128
$ p# Z1 i) z' f5 s5 X' h3.1.1 常用字符 129
* j# i6 u) {, h6 @: _3.1.2 运算符 131
! P4 F0 Q, X( z/ E3.1.3 连字符 136
, e& m. c: T( I* H6 {* s3.1.4 箭头 1369 N I, U3 w, K: ^9 Q6 h
3.1.5 带帽字符 138
4 z. O0 I6 U% `& K' u% h3.2 公式环境·.......140
6 z, M( f6 \* d' P! k/ J3.2.1 初识公式 140" O8 T% X4 P* I% k6 A
3.2.2 amsmath 宏包 1411 ^6 M6 |% G' K
3.3 括号·......150
# P6 Y* t4 g3 s/ t4 L+ p- i3.3.1 定界符 150% }% V6 F5 b7 }
3.3.2 方程组 1524 ^" g2 {0 ^! _2 Z9 U- {) W
3.3.3 矩阵 154. B# e% U* x' V- ]
3.4 常用形式......157
' |$ V, m9 T. H4 x, [# Y3.4.1 根号 157. G; n h1 Z; I, L9 I/ {
3.4.2 常用公式形式 1592 H6 @) [+ i0 `9 S
3.4.3 极限角标 160) `! f4 y2 B' ~& S x4 z* K
3.4.4 交互图 163
3 Q: s" t7 ~5 Z3.4.5 分式 164
2 W/ L0 h7 A, |3.4.6 案例集合 167/ H6 s& Y j$ I
3.5 格式调整........170
& }' }% U8 }; y; T; G3.5.1 字体 1707 O, d6 h$ _% f& \* }7 l
3.5.2 字符尺寸 1729 `* n% \. k- x
3.5.3 公式空间 174. v! Y; ~5 O8 G6 s. [
3.5.4 序号 176
3 N$ ?6 j" o9 O2 d' O8 J第4 章 表格........181
: [# k+ Z5 s0 Y4.1 表格环境.......182, @; h. \* V3 q! p' R3 \" G6 ]7 ]
4.1.1 array 宏包 186. l2 R1 [" i# S3 f% M9 ?( S
4.1.2 表格宽度 1909 j4 v$ P: `$ }; L+ z' e8 R$ X
4.2 跨行跨页·.....194
; y* O. f" ^; J' o' ^9 o; {2 k4.2.1 行列合并 1941 ~3 ]" v$ I9 J
4.2.2 表格跨页 198
7 S8 `" D- i/ H4.3 表格色彩.......206
, O2 U2 e, Q( p5 g( F4.3.1 文字颜色 206
4 L# g$ }. B$ m6 S% S4.3.2 表格背景 207* x# q7 O, S( J+ z- Z( {
4.3.3 边框色彩 210/ W, ~2 H* V" D! x- M
4.3.4 表格边框 214
2 H+ I' `0 J l3 s9 @4.4 扩展........219
; `- K2 H7 Z& U4 P# [% e7 X4.4.1 进制数对齐 219
5 T; q- Y$ Z6 Z. d3 w' D. U) o Q4.4.2 添加标注 222$ Z$ t0 S2 I6 L. T4 t4 e. ?
4.4.3 对角线 2256 k% ^. {; O: f
第5 章 图形·.....228
# t0 I" q# ?8 U# ?, l9 S5.1 认识图形·.....2281 _: _1 E g u s4 j8 u& r, t( Y
5.1.1 简单边框 228$ r) ~* J6 a& x) X
5.1.2 线条 235! G' }9 w! g- r8 V& {8 O) E
5.2 插图......238
) ^7 D& A9 c0 y* ]5 ~5.2.1 插入图片 239' c `/ X) \8 F5 a
5.2.2 插入PDF 文档 245# f& ` K7 n$ D
5.2.3 图像小标题 248- p" z6 {& A/ o( |
5.2.4 图像上添加标注 252
$ N7 P+ c: H4 V5.2.5 图文环绕 2538 i9 _: p% f0 ?6 ]
5.2.6 页面背景 254
9 d. z: M0 c8 V$ d0 s! u5.3 绘制图形.·......256' q& `5 @5 V4 d6 t8 \
5.3.1 线条控制 257
8 s8 E9 p: j. S( i" m8 ~5.3.2 线条样式 265. H; G3 s' h, j* z
5.3.3 箭头 268! B( K6 G f0 L- {. o- c) d1 B/ {
5.3.4 节点 271
) @- }" \+ d" }5.3.5 tikz 宏包仓库 275
o! g& e: F; |5.4 颜色控制·.......278
/ S, x3 o% `' U- V0 S第三部分 幻灯片的制作
8 c5 N& F5 p7 O% k5 |2 s第6 章 幻灯片.......281
3 _. j4 V |9 y! M" H& N6.1 基本结构........281
$ g9 R+ r; b8 p2 k, f; I/ T6.1.1 frame 2862 v* V" Z4 a4 c/ J
6.1.2 头部和底部 289
8 f) U/ C+ e& g8 s8 {' g. Q6.1.3 背景 2908 f( m, k& O4 `! j1 d& Q
6.1.4 布局 291
% p# J* O. b! W% A$ g6.2 主题...·..2934 K N# Q+ H8 x$ U0 _
6.2.1 样式主题 2936 I% Q. K! p+ I% y0 e
6.2.2 色彩主题 294
% q! o3 C/ {8 b; V/ T; Z8 U6.2.3 字体主题 295& j. ]# j. ^6 k# ?% B0 Y5 U
6.2.4 内部主题和外部主题 296( a; @0 ^% W9 L5 V- H. X, S1 I5 W
6.3 模块......298
! ?1 X6 O0 h6 O3 D6.3.1 文本 298
6 F9 D e2 r4 d+ t' ]6.3.2 列表 301* n# x d R2 q3 v6 S7 ~
6.3.3 分栏 305% t2 e: |) N6 D; z: N" T
6.4 动画.......3079 ]% @1 L& V) W6 n
6.4.1 pause 命令 308' W! @! \8 a* o- j [
6.4.2 overlay 覆盖 3108 G5 l- `, \$ R. r- H: g
6.4.3 帧作用命令 312! i8 C. z9 V4 h1 R9 z2 b, P0 P
第四部分 自定义LaTeX 的命令和环境: H6 H3 {& k4 k$ c
第7 章 定制LaTeX ·.....315
: _! \1 q; c+ j2 }6 y- [7.1 宏编辑·.......315
2 o! i4 v' V$ J) ?$ v: j7.1.1 定义命令 315
2 |1 W9 [6 {, c, f4 E/ u' ?7.1.2 定义环境 318
, r& }9 s+ Q; D( V7.1.3 条件判断 319
9 u" G& L5 [& G9 n) S u7.1.4 建立宏包 321
+ i% i* e ^7 B- j7.2 扩展·......326
) Q. h' G7 ?, ], W; \7.2.1 外部工具 326
6 z1 a; w { l# S; m7.2.2 资源 329/ g( u) _: I/ P2 k! [4 T
参考文献·.....330! U! [6 e3 t/ B. U) P
一、公众号送书(3本)4 X( I7 s. Y" M; d9 N- N
: F. Z4 ^( E1 o1 G2 x1 R* M
1.关注「好玩的MATLAB 」公众号,加微信:idmatlab;0 r& ]9 O; V8 \8 e* d$ M9 Z4 W
2.给本文点【赞】+【在看】;
) j7 Q' |, K, \" J2 e3.转发此推文到朋友圈集赞36个,截图发管理员微信,
- N4 }, v+ G2 G3 `: n$ w先到先得!
8 r1 ^( k* j/ R2 f& \& Z只有3本书!
1 u9 {8 ]) ^0 x) z( h3 |; V后来的没有任何奖品,活动公平公正!公开透明!- F [7 Y5 X- _
同时满足上述3个条件的读者朋友,包邮赠送一本。
* A! l7 x. J% L# o) x0 p
& R9 J/ F8 S* R2 t) ^扫一扫加管理员微信发截图, j/ f. [$ `& K# N2 W8 K
wrvtk2qukmo64018954007.png
% j9 q9 _( _8 G+ h* ?* U
0mjjmgfgblk64018954107.jpg
# ~* O4 A9 {! C; @) I: s( k" j; P2 P) X
当然,没有中奖但有需要的小伙伴可以通过下方链接进行购买:
7 |) |3 N5 c& K( o7 D5 l/ ^. L- b0 T6 [- }2 T$ t
二、朋友圈送书(1本)
! L$ k8 P' c; g$ Q5 u+ H
3 S( q% m1 b; `' ~, v+ ]- h" w扫一扫加管理员微信" j1 Q$ K: E. o0 R5 X8 W, P0 L
: p' E5 H" g% F* V9 z
3 L5 N8 h. c% f; C
1 Y) r d/ N3 e具体活动方式见管理员朋友圈
8 E. ]5 L e" d# X/ D7 P: l7 t M4 r0 Q3 e$ k- P& `/ s9 N
三、抖音送书(3本)4 o" g$ X6 e7 g- p, l; [! ]; s
: h2 D& n0 p, d/ q. L1 v+ E
关注抖音,管理员发布关于此书的视频,评论的点赞量前3名免费包邮赠送一本《从零开始学Latex》5 @- Z! K4 z, \( G z- ^! E6 N
kde2bvxx1yy64018954207.png
- S1 m: O2 Q7 k# f. F" w6 p0 S2 O
博主比较懒,视频还没做好!具体活动以抖音为主。1 @& V5 B" ?+ s5 [: G# [2 o! C: X/ n
532ei1ufqhb64018954307.jpg
4 L3 [. G, `9 `" A6 q9 m9 A
$ c P5 ? ?* O
% S, [/ x* T9 G; h, o7 N
wpsjhoy3qou64018954407.gif
. q$ z# h* b! ~" w7 X8 j% h8 m注意:
8 ?( q d+ O8 ?( y% V) t6 X0 @3 a: o7 Z5 u
三种途径获奖方式,只能获奖一次,一个人不能重复获奖。最终解释权归管理员所有。保证公平公正、公开透明。 |
|