【Matlab】散点图之五维数据可视化

44 篇文章 52 订阅
订阅专栏

在绘制5维散点图的时候,可以利用颜色代表第4维度的信息,利用气泡的大小来表示第5维度的信息。然而,这里有两个问题:

  1. 如何绘制出一个可以标注气泡大小的legend;
  2. 如何在一张图上显示两个Legend。

1. legendScatter

Matlab官网上给出了一个绘制可以标注气泡大小的legend的实现,其具体说明如下:

This function aims to simplify the creation of a legend for scatter plots. The function will plot a legend on current axis with the right markersize proportion. 

该方法旨在简化散点图的legend的创建,它会在当前坐标系上显示对应的尺度的气泡标记,效果如下图所示。

function [hleg,hobj]=legendScatter(TextCell,SizeDim,Factor,LinSpec)
%% LEGENDSCATTER: workaround for R2016a and later for scatter plot legend.
%   This function aims to simplify the creation of a legend for scatter plots.
%   The function will plot a legend on current axis with the right
%   markersize proportion.
%   NB. From version 1.0.5 is added the compatibility with previous MATLAB
%       version.
%
%   Inputs:   - TextCell: a cell array containing the legend-entry text.
%               WARNING: THE FIRST CELL IS THE TITLE !!!
%             - SizeDim: the ''MarkerSize'' dimension for each entry.
%               WARNING: length(SizeDim)==length(TextCell)-1 !!!
%             - Factor: normaling factor for enlarge the marker size in
%                       a linear way. (MarkerSize*sqrt(Factor)
%             - LinSpec: specify the marker-string.
%
%   EXAMPLE: -----------------------------------------------------
%             Factor=1.5;
%             A=[1,1,1;
%                2,2,2;
%                3,3,3;
%                4,4,4;
%                5,5,5;
%                6,6,6;
%                7,7,7;
%                8,8,8;
%                9,9,9;
%                10,10,10];
% 
%             sh=scatter(A(:,1),A(:,2),(A(:,3).^2)*Factor,'ok');
%             %scattersize==MarkerSize*sqrt(Factor)pt)
%             leg=LEGENDSCATTER({'SIZE','1','2','3','4','5', ...
%                 '6','7','8','9','10'},[1:1:10],Factor,'ok');
%             leg.Location='NorthWest'; axis([0,11,0,11])
%            -----------------------------------------------------
%
%   VERSION:1.0.5
%   AUTHOR: Matteo Bagagli - ETH-Zurich // Oct. 2016
%   MAIL:   matteo.bagagli@erdw.ethz.ch

%% FAKE PLOTS
hold on
hplt=zeros(length(TextCell),1)';
for ii=1:length(TextCell)
    hplt(ii)=plot(NaN,NaN,LinSpec);
end
hold off

%% WORK
[hleg,hobj]=legend(hplt,TextCell,'Units','points');
drawnow % To update the figure and the legend
idx=(length(TextCell)+4):2:length(hobj); % Skip text and TITLE MARKER
v=version; 
if str2double(v(1)) >= 9                 % MATLAB v9.0 and higher
    % Title
    hobj(1).FontWeight='bold';
    ActPos=hobj(1).Position;
    hobj(1).Position=[0.5,ActPos(2),ActPos(3)];
    hobj(1).HorizontalAlignment='center';
    hobj(1).FontSize=11;
    hobj(length(TextCell)+2).Marker='none';
    % Body
    for ii=1:length(idx)
        hobj(idx(ii)).MarkerSize=SizeDim(ii)*sqrt(Factor);
    end
else                                     % MATLAB v8 and lower
    % Title
    set(hobj(1),'FontWeight','bold');
    ActPos=get(hobj(1),'Position');
    set(hobj(1),'Position',[0.5,ActPos(2),ActPos(3)]);
    set(hobj(1),'HorizontalAlignment','center');
    set(hobj(1),'FontSize',11);
    set(hobj(length(TextCell)+2),'Marker','none');
    % Body
    for ii=1:length(idx)
        set(hobj(idx(ii)),'MarkerSize',SizeDim(ii)*sqrt(Factor));
    end   
end % end switch version

end % EndMain

2. 使用方法

接下来,我们就需要解决如何同时显示两个legend了。以用来分别标注第4维度和第5维度的信息。如下所示,我们用颜色代表第4维度的数据,用气泡大小表示第5维度的数据。

 具体效果如上图所示,通过对fig进行稍微编辑,可以达到想要的效果。其具体实现如下所示。

%% PlatEMO下多维PF面可视化
function [  ] = Draw_bubble()
    problem = 'DMOPs4_OS';                  %问题
    PF=load(sprintf('F:\\多目标优化论文\\实验——代码\\PlatEMO v1.5 (2017-12)\\Data/%s/%s.mat',problem,problem));
    Factor = 1.5;//笔者需要自己调整
    sz_base = 35;
    
    %绘制气泡图
    data = PF.PF.objs;
    
    x = data(:,1)';
    y = data(:,2)';
    z = data(:,3)';
              
    %计算能耗等级
 	energe_level = unique(data(:,5));
    level = zeros(1,size(data,1));
    for i=1:size(data,1)
        for j=1:length(energe_level)
            if data(i,5) == energe_level(j)
                k=j;
                break;
            end
        end
        level(i) = k;
    end
    
    SizeDim = level * sz_base;
    u = SizeDim * sqrt(Factor); %sqrt(Factor) * level * sz_base;
    
    %生成颜色
 	gnums = unique(data(:,4));
	c = parula(length(gnums));    
    c = fliplr(c')';
    
    %根据使用的罐的个数绘制图像
    figure;
    g_num = data(:,4);
    legendtext = cell(1,length(gnums));
    for i=1:length(gnums)
        ind = find(g_num== gnums(i));  %供油罐个数为tmp(i)的记录下标
        scatter3(x(ind),y(ind),z(ind),u(ind),c(i,:),'fill');%颜色是用罐个数,气泡大小是切换次数
        legendtext{i} = num2str(gnums(i));
        hold on;
    end
    legend(legendtext);
    title('Visualization of Prato front');    
    range = [min(x), max(x), min(y), max(y), min(z), max(z)];
    axis(range);% 坐标轴的显示范围
    xlabel('J_\alpha');% x轴名称、字体及大小
    ylabel('J_\beta');% y轴名称、字体及大小
    zlabel('J_\gamma');% z轴名称、字体及大小
    
    axes('position',get(gca,'position'),'visible','off');
    sizeCC = linspace(5,25,10);
    legendScatter({'','150','160','170','180','190','200','210','220','230','240'},sizeCC,Factor,'ob');
end

注意,因为一般在绘制第二个legend时,Matlab默认会将第一个legend删除,因此,在绘制第二个legend之前,需要加入如下语句:

axes('position',get(gca,'position'),'visible','off');
matlab五维图,一张图让你看清楚从0维到10维的终极解释
weixin_30499315的博客
03-24 1万+
原标题:一张图让你看清楚从0维到10维的终极解释长假期间,知著转发了一篇关于《一张图弄明白从零维到十维空间》,没想到引发了最火爆的转发,目前为止,有50多万的点击率,评论也有数百条。该文的原文是转自公号“商老师的设计学堂”。不过,看了这个估计还有很多争议。七祖虽然毕业于华中科技大学和复旦大学,但只是文科生,尽管属于科幻迷,但对于高能的物理学还是知之甚少,我找到两个材料可以参考:一个是好玩版本,一个...
使用 Matlab 进行 5D 数据可视化:使用 Matlab 函数“scatter3”的 5D(五维数据可视化。-matlab开发
05-31
此处提供的 Matlab 代码提供了使用 Matlab 命令“scatter3”进行 5D 数据可视化的示例。 X、Y 和 Z 坐标表示前三个维度,第四个维度通过动画表示,第个维度用颜色表示。
matlab中怎么画五维图,使用MatLab绘制散点图的方法
weixin_31860973的博客
04-13 2425
使用MatLab绘制散点图的方法:1.首先从给出的excel表格中采用数据筛选方法,将所有某类型地区的相关数据全部筛选出来。例如第1类区域的数据如下:4043 1895 14 1 9.172427 3971 2 1 5.724777 4897 8 1 11.456534 5641 6 1 7.844592 4603 6 1 8.502486 5999 2 1 5.513573 6213 5 1 9...
目前最强大的多目标优化算法平台PlatEMO
最新发布
earthbingshi的博客
06-23 1243
进化计算平台PlatEMO
五维matlab,五维立体图,怎么画五维图(即以边形反映各项水平)
weixin_40003780的博客
03-19 4221
一维、二维、三维、四维、五维分别是什么?线是一维的,参数是点 面是二维的,参数是线 体是三维的,参数是面 以此类推,以体为参数构成的空间就是四维空间,通常理解为时间,从很多科幻小说中可以看到类似的说法。 那么以时间为参数构成的空间应该就是五维空间,在科幻中好像是要联系到...三维是如何演变成四维、五维甚至更多维啊,比方说...楼主问的可是“四维空间”的概念呢? 四维空间是在三维空间的概念上,加了时...
Matlab绘图(三)散点图—四维数据、五维数据、六维数据、七维数据散点图可视化绘制
ONERYJHHH的博客
02-02 2万+
Matlab绘图(三)散点图—四维数据、五维数据、六维数据、七维数据可视化分析一、前言二、散点图特征分析三、六维数据可视化示例散点图 一、前言 这将是个有趣的帖子,上次我写到了关于变色散点图的二维、三维绘制。在二维散点图绘制中,颜色变化映射的数据是y值;三维绘制中,颜色的变化映射的数据是z值。 正常来说,我们碰到的绘图数据大多数情况是二、三维的。但是四、、六、七维度的情况还是存在的,我最近做项目的时候遇到了六维度数据可视化的问题,在查找相关资料的时候受到 【Matlab散点图五维数据可视化和matl
Matlab_5维数据绘图-演示+源码
JiandaoStudio
05-21 6000
一、源代码 %author JiandaoStudio %date 2019/05/21/10:27 %title "5维图像演练" clear all clc, close all %% 设置图像渲染方法 % set(gcf, 'Renderer', 'Painter') % set(gcf, 'Renderer', 'Zbuffer') % 选择采用O...
【matplotlib】散点图(scatter) 气泡图
捕获完成
02-04 3456
博客已经搬家到“捕获完成”: https://www.v2python.com 散点图(scatter) """ ====================== Style sheets reference ====================== This script demonstrates the different available style sheets o...
code_5纬数据可视化matlab代码_
10-02
使用matlab编程语言,能够实现五维函数图的绘制
MATLAB.zip_matlab可视化_数据可视化
09-19
4. **3D可视化**:MATLAB的强大之处在于其3D绘图能力,如`surf`(表面图)、`mesh`(网格图)和`scatter3`(3D散点图)。这些函数可用于展示三维数据集,对于研究复杂的物理现象或地理空间数据特别有用。 5. **图像...
matlab数据可视化总结,Matlab数据可视化(5):二维数据可视化 I
weixin_42378973的博客
03-20 2060
Matlab数据可视化(5):二维数据可视化 I2018-12-03以下介绍数据的二维可视化。一. 二维散点图(源代码:scatter.m)我们用著名的Iris数据集(Fisher, 1936)作为绘图实例。Iris数据集包含3种鸢尾花的150个样本数据,每个数据都有4个属性(花萼和花瓣的长度及宽度)。1) 基本散点图我们用其中两个属性值作为X和Y轴,另一个属性值表示点的大小。(图1)[plain...
PlatEMO20171124
01-12
包含所有顶级期刊上的多目标优化算法
PlatEMO v1.5 (2017-12)
03-21
PlatEMO v1.5 (2017-12)
matlab五维数据可视化
09-04
MATLAB 中进行五维数据可视化可以采用不同的方法,下面我将介绍几种常见的方法: 1. 散点图:可以使用 scatter3 函数绘制三维散点图,而第四维和第五维可以通过不同的颜色和大小来表示。例如,你可以使用不同的...
MATLAB 立体绘图
qq_45384561的博客
03-09 1万+
MATLAB绘图基础2 MATLAB的立体绘图2.1 生成网格坐标矩阵的函数2.2 画三维曲面的函数2.3 三维旋转体的绘制柱面图球面图2.4 三维图形的处理视点处理色彩处理消隐处理裁剪处理❤隐函数作图 2 MATLAB的立体绘图 2.1 生成网格坐标矩阵的函数 [X,Y]=meshgrid(x,y) 生成X-Y平面的网格坐标矩阵 [X,Y,Z]=sphere(n) 生成球面的三维...
matlab绘制多维数据图
m0_65532100的博客
04-10 4960
文章目录前言一、四元函数二、使用步骤1.设置渲染方法2.生成坐标轴3.设置彩色条的取值范围4.作图5.保存6.最终效果总结 前言 matlab绘制图像方面非常强大,本次记录我在使用过程中的一些总结。 一、四元函数 F=1∣X2+Y2+Z2+A2∣ F=\frac{1}{|X^2+Y^2+Z^2+A^2|} F=∣X2+Y2+Z2+A2∣1​ 二、使用步骤 1.设置渲染方法 代码如下(示例): %% 设置图像渲染方法 % set(gcf, 'Renderer', 'Painter') % set(gc
优化方法理论合集(1)——最简单问题
高能阿博特的博客
04-10 420
优化方法系列分享第一弹——最简单问题。 关于优化方法的介绍分享,笔者会后续慢慢发出来的!
多元化---五维
qq_28026283的博客
11-07 5258
Android打造五维图、六维图、七维图......想要几维你来定~
数据可视化Matlab)丨绘制绘制二维、三维和四维图形以及图形编辑与函数图形的绘制
热门推荐
Edchel
01-26 3万+
庞大的数据和复杂的计算过程给用户带来了极大的不便,MATLAB自产生之日起就具有方便的数据可视化功能,新版本中更是做出了很大的改进和完善,本文基于MATLABR2015b通过实例来展示绘制二维、三维和四维以及图形编辑与函数图形绘制
写文章

热门文章

  • 【java】爬虫之零基础利用postman分析并实现12306余票查询功能 232025
  • 【Matlab】使用yalmip和cplex求解器求解规划问题 58199
  • 【Aurora】在word中插入算法伪代码、表格和公式 55884
  • 【html】前端页面可视化设计工具总结 46978
  • Spyder 中 Reloaded modules 错误的解决方法 39418

分类专栏

  • Spark技术
  • 分布式技术 18篇
  • Spring Cloud 13篇
  • SpringBoot 10篇
  • 前端技术 19篇
  • Linux 10篇
  • SSM网站开发 21篇
  • 强化学习与人工智能 32篇
  • Matlab编程与绘图 44篇
  • STM32硬件开发 17篇
  • JVM原理 1篇
  • 微信公众号开发 1篇
  • Maven使用 10篇
  • 爬虫技术 21篇
  • 论文写作 6篇
  • ASP.NET网站开发 33篇
  • Github使用 5篇

最新评论

  • 【python】利用setup.py安装

    Conor Gilbert Beillschmidt: 请问报错了怎么办?显示无法识别import

  • 【java】爬虫之零基础利用postman分析并实现12306余票查询功能

    2401_87244298: 给人发货,就发让人看懂的,一看货到了哪里,几天能到

  • 【java】爬虫之零基础利用postman分析并实现12306余票查询功能

    2401_87244298: 发的啥,看不懂,能不能发能让人看懂的

  • 【keras】利用LSTM进行单变量时间序列预测和多变量时间序列预测

    xxhhpp: 你好,请问可以发一份数据集吗谢谢,naid1521@163,com

  • 【keras】利用LSTM进行单变量时间序列预测和多变量时间序列预测

    xxhhpp: 你好,请问可以发一份数据集吗谢谢,naid1521@163,com

大家在看

  • SPSS26统计分析笔记——5 卡法检验 377
  • 工控网络安全学习路线 528
  • 内存管理的艺术:深入理解栈、堆和静态区
  • 从寻呼机爆炸看煤矿网络安全 1614
  • 数据结构:单链表

最新文章

  • Java与Matlab混合编程通用类
  • 通过宏在word中实现“图1-1”
  • SpingBoot项目部署到远程Docker容器中
2021年2篇
2020年49篇
2019年223篇
2018年61篇
2017年1篇

目录

目录

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家不锈钢人物玻璃钢景观雕塑加工惠州树脂玻璃钢雕塑工艺浙江大型商场美陈批发价东莞公园玻璃钢花盆曲阳玻璃钢彩绘马雕塑室内装饰玻璃钢花盆福建组合式玻璃钢雕塑摆件陕西公园玻璃钢雕塑优势玻璃钢雕塑税率是多少玻璃钢雕塑公园广州玻璃钢祖宗雕塑图片江苏玻璃钢雕塑服务介绍天水玻璃钢牌匾雕塑铜陵大型户外玻璃钢雕塑多少钱商场美陈陈列口号口碑不错玻璃钢卡通雕塑出厂价格定制玻璃钢雕塑厂家报价人物玻璃钢雕塑销售厂家贵阳户内玻璃钢雕塑哪家便宜玻璃钢恐龙雕塑服务公司玻璃钢花盆模具教程商场美陈低价处理安阳玻璃钢浮雕铜雕塑厂家贵州喷泉雕塑玻璃钢新沂玻璃钢雕塑安徽卡通玻璃钢雕塑美陈装饰南阳玻璃钢现代雕塑广东特色商场美陈生产企业甘肃校园玻璃钢雕塑湖北多彩玻璃钢雕塑价位香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化