网站开发费用摊销吗,上海网站推广方法,新沂做网站,手机开网店参考书#xff1a;《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 8.双变量图形绘制
8.1 散点图 散点图用于显示两个变量间的关系#xff0c;每个数据点在图上表示为一个点#xff0c;一个变量在 X {\rm X} X轴#xff0c;一个变量在 Y {\rm Y} Y轴#…参考书《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 8.双变量图形绘制
8.1 散点图 散点图用于显示两个变量间的关系每个数据点在图上表示为一个点一个变量在 X {\rm X} X轴一个变量在 Y {\rm Y} Y轴通过观察散点图可以观察两个变量之间的趋势、关联性和离群值 散点图应用情况 关联分析散点图可以确定两个变量之间是否存在关联关系如果散点图显示数据点在图上形成一条趋势线则可以说明两个变量间存在一定的关联关系异常值检测通过散点图可以识别任何偏离正常模式的异常值异常值通常是图上离群的数据点集群识别如果散点图上存在多个簇(聚类)则可以推断数据在不同组之间具有不同的特性趋势分析散点图可以帮助分析数据的趋势如是否存在周期性的模式或趋势相关性分析通过计算两个变量间的相关系数可以定量衡量变量间的关联程度 散点图应用示例 金融市场分析用于分析不同资产间的相关性以便构建投资组合医学研究用于研究药物剂量与患者症状间的关系生态学用于分析不同环境因素间的相互作用如温度和物种多样性间的关系制造业质量控制用于检测生产过程中的异常值和质量问题 散点图绘制基本语法 % 散点图绘制基本语法:
% scatter(x, y)% 参数说明:
% x包含X轴数据的向量;
% y包含Y轴数据的向量% 其他参数说明:
% Marker用于指定标记符号;
% MarkerFaceColor用于指定标记的填充颜色;
% MarkerEdgeColor用于指定标记的边框颜色;
% SizeData用于指定标记的大小;% ch08_01.m
clear;
clc;% 1.生成随机模拟数据;
x rand(500, 1);
y rand(500, 1);% 2.绘制散点图;
scatter(x, y, Marker, o, MarkerFaceColor, r, MarkerEdgeColor, g, SizeData, 20);% 3.标题、标签;
xlabel(X轴);
ylabel(Y轴);
title(散点图基本绘制示例);% 4.保存高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_01.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);分类散点图 % 分类散点图是用于可视化分类或分组数据的图形表示方法数据点按类别分组并以不同颜色或标记符号区分
% gscatter函数基本语法
gscatter(x, y, group, colors, markers)% 参数说明
% x、y数据点的X坐标和Y坐标,分别表示在散点图中水平和垂直的位置;
% group一个包含分类信息的单元数组或单元矩阵,定义了每个数据点所属的类别或分组;
% colors一个包含颜色的字符串数组,定义了每个组的颜色;
% markers一个包含标记符号的字符串数组,定义了每个组的标记符号;% ch08_02.m
clear;
clc;% 1.生成模拟数据;
data [randn(200, 1), randn(200, 1);2 randn(200, 1), 2 randn(200, 1)];% 2.分组标签;
group [repmat({Group1}, 200, 1);repmat({Group2}, 200, 1)];% 3.创建分类散点图;
gscatter(data(:,1), data(:,2), group, bg, xo);% 4.标签、标题、图例;
xlabel(X轴);ylabel(Y轴);
title(分类散点图);
legend(Group1, Group2);
grid on;% 5.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_02.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);8.2 折线图 折线图用于显示两个变量之间的趋势随时间的变化 折线图应用示例 股票价格趋势图用于展示股票价格随时间的波动情况帮助投资者分析股票的走势和趋势气温变化趋势图用来展示某个地区的气温随季节或年份的变化帮助人们理解气候模式和季节性变化销售数据趋势图用来跟踪产品销售数据随时间的变化帮助企业管理者了解产品销售的季节性、趋势和周期性模式生产指标趋势图用来监控生产指标如产量、质量和效率随时间的变化有助于优化生产流程和识别潜在问题 折线图的基本绘制流程 % plot函数基本语法
plot(X, Y);% plot函数设置线条样式;
plot(X, Y, LineSpec);% 线条样式说明:
% r、g、b红色、绿色、蓝色;
% k、c、m、y黑色、青色、品红色、黄色;
% --虚线;
% :点线;
% o圆圈标记;
% 加号标记;
% x叉号标记;
% s方形标记;
% d菱形标记;
% v下三角标记;
% ^上三角标记;
% 左尖角标记;
% 右尖角标记;
% p五角星标记;
% h六边形标记;% ch08_03.m
clear;
clc;% 1.生成模拟数据;
X1 1:15;
Y1 [1, 3, 4, 3, 6, 7, 5, 7, 6, 8, 11, 14, 13, 15, 16];X2 1:15;
Y2 [2, 5, 6, 4, 5, 9, 10, 7, 8, 9, 13, 7, 14, 11, 13];% 2.绘制折线图;
plot(X1, Y1, b--o, LineWidth, 2, MarkerSize, 8, MarkerFaceColor, b);
hold on;
plot(X2, Y2, r:o, LineWidth, 2, MarkerSize, 8, MarkerFaceColor, r);% 3.标签、标题、图例;
xlabel(X轴数据);
ylabel(Y轴数据);
title(折线图);
legend(X1-Y1折线图, X2-Y2折线图);
grid on;% 4.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_03.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);高州市第一中学某同学 2024 2024 2024年语、数、英成绩排名变化折线图示例 % ch08_04.m
clear;
clc;% 1.生成模拟数据;
month 1:12;
Chinese_grade_rank [200, 180, 160, 150, 175, 155, 120, 100, 80, 95, 60, 10];
math_grade_rank [250, 190, 175, 120, 135, 105, 80, 60, 30, 25, 40, 20];
English_grade_rank [230, 150, 135, 100, 105, 95, 85, 70, 50, 35, 50, 15];% 2.绘制折线图;
plot(month, Chinese_grade_rank, b--o, LineWidth, 2, MarkerSize, 8, MarkerFaceColor, b);
hold on;
plot(month, math_grade_rank, g:o, LineWidth, 2, MarkerSize, 8, MarkerFaceColor, g);
hold on;
plot(month, English_grade_rank, r:o, LineWidth, 2, MarkerSize, 8, MarkerFaceColor, r);% 3.标签、标题、图例;
xlabel(月份/月);
ylabel(各科成绩排名);
title(高州市第一中学陈同学2024年各科成绩排名折线图);
legend(语文成绩排名折线图, 数学成绩排名折线图, 英语成绩排名折线图);
grid on;% 4.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_04.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);婴儿出生数据变化折线图绘制 % ch08_05.m
clear;
clc;% 任务绘制婴儿出生数据折线图;
% 1.读取数据;
data readtable(ch08_05.csv);% 2.日期格式转换;
date string(data.year) - string(data.month) - string(data.day);
date datetime(date, InputFormat, yyyy-MM-dd);% 3.设置文本解释器;
set(groot, defaultTextInterpreter, none);% 4.绘制折线图;
figure(Position, [100 100 1000 600]);
plot(date, data.births, r-, LineWidth, 1.5);% 5.标题、标签;
xlabel(出生日期);
ylabel(婴儿出生数量);
title(婴儿出生数据折线图);
grid on;
set(gca, TickLabelInterpreter, none);
datetick(x, yyyy-MM-dd, keeplimits);% 6.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_05.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);分类折线图分类折线图用于显示不同类别或组别之间的趋势或关系通常用于比较不同类别之间的数据变化 分类折线图基本绘制示例 % ch08_06.m
clear;
clc;% 1.产生模拟数据;
categories {class1, class2, class3, class4, class5, class6};
values1 [1, 2, 4, 5, 6, 7];
values2 [4, 3, 2, 9, 7, 8];
values3 [2, 4, 5, 6, 9, 10];% 2.numel函数用于计算数组中的元素数量;
figure;
plot(1:numel(categories), values1, o-, LineWidth, 1.5, DisplayName, Series1);
hold on;
plot(1:numel(categories), values2, s-, LineWidth, 1.5, DisplayName, Series2);
hold on;
plot(1:numel(categories), values3, d-, LineWidth, 1.5, DisplayName, Series3);% 3.设置X轴的刻度位置;
set(gca, XTick, 1:numel(categories));% 4.将X轴刻度的标签设置为实际的分类名称;
set(gca, XTickLabel, categories);% 5.标签、标题、图例;
xlabel(不同类别);
ylabel(不同类别的值);
title(分类折线图基本示例);
legend(Location, Best);grid on;
hold off;% 6.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_06.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);按性别对婴儿出生数据进行绘制折线图 % ch08_07.m
clear;
clc;% 1.读取数据;
data readtable(ch08_07.csv);
date datetime(data.year, data.month, data.day);figure(Position, [100, 100, 1000, 600]);% 2.使用不同颜色表示不同性别的折线;
unique_genders unique(data.gender);
colors {b, r, g, m, c};
legend_labels cell(length(unique_genders), 1);% 3.绘制分类折线图;
hold on;
for i 1:length(unique_genders)gender unique_genders{i};index strcmp(data.gender, gender); subset data(index, :);plot(date(index), subset.births, Color, colors{i});legend_labels{i} gender;
end
hold off;% 4.标签、标题、图例、网格;
xlabel(日期);
ylabel(出生数量);
title(婴儿出生数据分类折线图);
legend(legend_labels, Location, Best);
grid on;% 5.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_07.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);8.3 面积图 面积图用于显示数据序列随时间或有序类别的变化趋势面积图常用于展示不同类别或组的数据在总体中的相对占比或堆积情况 面积图绘制基本语法 % 面积图绘制基本语法:
area(x, y)% 参数说明:
% 1.xX轴上的数据点的位置,通常是一个数值数组或向量;
% 2.yY轴上的数据点的位置,可以是一个矩阵,每一行代表一个不同的数据系列;% area函数常用参数或选项:
% BaseValue指定填充区域的基准值,即从该值开始填充区域;
% FaceAlpha设置填充区域的透明度,可以在0到1之间调整;
% EdgeColor指定填充区域的边缘颜色;
% LineWidth设置填充区域的边缘线宽度;% ch08_08.m
clear;
clc;% 1.生成模拟数据;
x 1:100;
y1 sin(x) 1;
y2 cos(x) 1;
y3 sin(x) cos(x) 2;
y4 sin(x) - cos(x) 2;% 2.绘制面积图;
figure;
area(x, [y1; y2; y3; y4],FaceAlpha, 0.8);% 3.标签、标题、图例;
xlabel(X轴);ylabel(Y轴);
title(面积图绘制示例);
legend({series1, series2, series3, series4}, Location, Best);
grid on;% 4.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_08.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);8.4 柱状图 柱状图用于比较不同类别或组之间的两个变量一个变量表示在 X {\rm X} X轴上的不同类别或组另一个变量表示在 Y {\rm Y} Y轴上的值柱状图常用于显示类别数据的比较 柱状图基本语法 % 柱状图基本语法:
bar(Y); % 绘制垂直柱状图,Y是一个包含数据的向量或矩阵;
bar(X,Y); % 绘制垂直柱状图,X是一个包含X轴刻度标签的单元格数组或字符串数组,Y是数据的向量或矩阵;% 参数说明:
% Y包含数据的向量或矩阵;
% X用于指定X轴的刻度标签,长度和Y相同;
% width用于设置柱形的宽度,默认宽度0.8;% ch08_09.m
clear;
clc;% 柱状图基本示例:广东海洋大学2015级机械各班人数柱状图;% 1.定义X轴、Y轴数据;
className {机电1, 机电2, 机电3, 机电4, 机电5,...机电6, 模具7, 模具8, 制造9, 制造10};
classNum [36, 35, 37, 38, 40, 42, 45, 39, 42, 43];% 2.绘制柱状图,设置柱状图颜色、透明度;
bar(1:numel(className), classNum, FaceColor, [0.9, 0.8, 0.5], FaceAlpha, 0.5);% 3.设置X轴刻度标签
set(gca, XTick, 1:numel(className))
set(gca, XTickLabel, className)% 4.标签、标题;
xlabel(班级名称);
ylabel(各班级人数);
title(广东海洋大学2015级机械各班人数);% 5.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_09.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);绘制不同汽车型号的燃油效率柱状图 % ch08_10.m
clear;
clc;% 1.加载carsmall数据集
load carsmall;% 2.选择要绘制柱状图的数据列例如 MPG每加仑英里数
mpgData MPG;% 3.创建一个新的图形窗口并设置其尺寸
figure(Position, [100, 100, 1200, 400]); % 调整图表的宽度为1200高度为400可以根据需要调整% 4.创建柱状图
bar(mpgData);% 5.添加标题和轴标签
xlabel(汽车索引);
ylabel(每加仑英里数 (MPG));
title(Carsmall数据集 MPG 数据);% 6.获取车辆名称X轴标签
carNames cellstr(Model);% 7.设置X轴标签的间隔例如每隔2个车辆显示一个标签
xTickInterval 2;% 8.显示部分标签
xTickPositions 1:xTickInterval:length(carNames);
xTickLabels carNames(xTickPositions);% 9.在图上设置X轴标签位置和标签值
set(gca, XTick, xTickPositions);
set(gca, XTickLabel, xTickLabels);% 10.使X轴标签倾斜以提高可读性
xtickangle(45);
grid on;% 11.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_10.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);8.5 条形图 条形图通常用于比较不同类别或组之间的数据值由一组垂直或水平的条形组成每个条形的高度(或长度)表示相应类别或组的数据值 条形图和柱状图区别 条形图一般是水平的条形从左到右每个条形的长度表示相应类别或组的数据值柱状图一般是垂直的柱状从下到上每个柱子的高度表示相应类别或组的数据值条形图常用于比较不同类别或组间的数据特别是当类别名称较长或需要显示在图形的底部时柱状图常用于比较不同类别或组的数据通常在类别名称较短或可以垂直显示时 条形图绘制基本示例 % ch08_11.m
clear;
clc;% 1.创建数据;
data [13 20 18 15 16 12];% 2.绘制条形图;
figure;
barh(data, FaceColor, b);% 3.标签、标题;
xlabel(数据值);
ylabel(类别);
title(条形图绘制基本示例);% 4.设置类别;
set(gca, YTickLabel, {类1, 类2, 类3, 类4, 类5, 类6});% 5.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_11.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);广东海洋大学 2015 2015 2015级机械专业高等数学各分数段人数条形图 % ch08_12.m
clear;
clc;% 1.生成各分数段人数;
scoreData [25 30 60 65 80 75 40 30 20];% 2.绘制条形图;
figure;
barh(scoreData, FaceColor, c);% 3.标签、标题;
xlabel(各分数段值);
ylabel(各分数段区间);
title(广东海洋大学2015级机械专业高等数学各分数段人数条形图);% 4.设置类别;
set(gca, YTickLabel, {95-100, 90-95, 85-90, 80-85, 75-80, 70-75, 65-70, 60-65, 0-60});% 5.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_12.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);8.6 热力图 热力图用于可视化两个分类变量之间的关系通过颜色编码来表示不同组合的频率或值可以帮助识别变量之间的相关性和模式 热力图在科技领域中常见的应用场景 温度分布气象学中热力图用于显示地理区域的温度分布情况每个单元格表示一个地理位置颜色表示温度基因表达分析生物学中热力图用于可视化基因表达数据行表示基因列表示样本单元格的颜色表示基因在不同样本中的表达水平金融分析金融领域中热力图用于可视化不同股票或资产之间的相关性每个单元格可以表示两种资产之间的相关性颜色深浅表示相关性的强度图像处理计算机视觉中热力图用于表示图像中不同区域的像素强度有助于完成图像分割、特征提取等任务 热力图绘制基本示例 % ch08_13.m
clear;
clc;% 1.生成随机模拟数据;
data rand(10, 10);% 2.绘制热力图;
heatmap(data);% 3.设置颜色映射;
colormap(parula);% 4.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_13.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);热力图常用的颜色映射 J e t {\rm Jet} Jet J e t {\rm Jet} Jet颜色映射使用明亮的彩虹色彩从蓝色到红色 H o t {\rm Hot} Hot H o t {\rm Hot} Hot颜色映射使用温度感应的颜色从黑色到红色到黄色适用于表示热度或温度变化 C o o l {\rm Cool} Cool C o o l {\rm Cool} Cool颜色映射使用冷色调从蓝色到紫色常用于表示冷热程度的变化 S p r i n g {\rm Spring} Spring S p r i n g {\rm Spring} Spring颜色映射使用春季感觉的颜色从品红色到黄色 C o p p e r {\rm Copper} Copper C o p p e r {\rm Copper} Copper颜色映射用于表示铜金属的颜色 G r a y {\rm Gray} Gray G r a y {\rm Gray} Gray颜色映射使用不同灰度级别的颜色 B o n e {\rm Bone} Bone B o n e {\rm Bone} Bone颜色映射使用骨骼颜色从黑色到白色 P i n k {\rm Pink} Pink P i n k {\rm Pink} Pink颜色映射使用粉红色系的颜色
8.7 针状图 针状图常用于可视化离散数据或序列的变化趋势强调离散数据点的振幅或值并在图形上以垂直线段的形式表示这些值 针状图常见应用场景 信号处理信号处理中针状图常用于显示数字信号的样本或脉冲序列帮助分析信号的振幅、频谱和时域特性数学教育教育领域中针状图用于教授数学中的点、向量、序列或分布概念可用于可视化离散数据集实验数据分析科学实验中采集到的数据点如温度测量、压力测量等帮助分析实验数据的趋势时间序列分析针状图适用于表示时间序列数据特别是在离散时间点上的观测值如气象数据、股票价格等数字滤波器分析针状图可用于表示滤波器的冲激响应显示滤波器如何影响信号峰值检测信号处理中针状图可用于检测信号中的峰值或特定事件 针状图绘制基本示例 % ch08_14.m
clear;
clc;% 1.生成随机整数数据;
x 1:100;
y randi([1, 100], 1, 100);% 2.创建针状图;
stem(x, y, b, filled);% 3.标签、标题;
xlabel(X轴(数据点));
ylabel(Y轴(值));
title(针状图基本示例);% 4.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_14.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);8.8 阶梯图 阶梯图常用于表示离散数据的变化趋势阶梯图的特点是在数据点之间使用水平或垂直的线段来显示数据的变化 阶梯图常见应用场景 时间序列数据用于可视化时间序列数据的变化如股票价格、气温、电力使用情况等每个数据点代表一个特定时间点的观测值累积数据用于表示累积数据的变化如累积销售额或总体积每个数据点代表一个累积事件后的观测值分类数据用于表示不同类别或分组之间的变化如市场份额、不同地区的销售额等每个数据点代表一个不同的类别财务数据用于表示各种会计账户的变化如资产、负债和所有者权益 阶梯图基本绘制示例 % ch08_15.m
clear;
clc;% 1.创建时间、温度模拟数据;
x 1:12;
y [20, 22, 23, 23, 23.5, 21, 22, 24, 25, 28, 30, 35];% 2.创建基本阶梯图;
stairs(x, y, b, LineWidth, 1.5);% 3.标签、标题;
xlabel(时间);
ylabel(温度);
title(2024-08-15凌晨0点到中午12点每小时温度变化);% 4.生成高质量图像;
dpi 600;
imagePath D:\自动控制理论\MATLAB绘图\Images\ch08_15.png;
print(imagePath, -dpng, [-r, num2str(dpi)]);