Matlab个性化绘图第3期—带三维球标记的折线图

前段时间有会员在群里问该如何绘制下面这种带三维球标记的折线图

本期内容就来分享一下带三维球标记的折线图的Matlab绘制思路。

先来看一下成品效果:

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【全家桶】查看加入方式


1. 数据准备

此部分主要是读取原始数据

% 读取数据x = 1:10;A = [5 7.5 8 1.5 1.2 1.8 2.2 2.5 2.3 2.4     8.7 1.6 1.65 2.5 2.45 2.5 1.1 1.2 1.1 1];

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用TheColor配色工具中的SCI权威配色库

% 颜色定义C = TheColor('sci',500);

3. 带三维球标记的折线图绘制

调用自制的‘drawball’和‘Shadow’工具,绘制初始带三维球标记的折线图

%% 折线图绘制p = plot(x,A);for i = 1:size(A,1)    set(p(i),'LineStyle','-','Marker','none','LineWidth',2.5,'Color',C(i,1:3))enddrawball(x,A,0.3,C) % 0.3为球半径Shadow([-60,45],'shiny','phong')hTitle = title('Line with Ball Plot');hXLabel = xlabel('XAxis');hYLabel = ylabel('YAxis');%% 绘制legendinter = 1; % 行距ll = 1; % 长度lx = 8; % 左上角xly = 8.5; % 左上角y% 构造线数据并绘制temp = ly:-inter:(ly-1*inter);xx = [lx lx+ll];yy = repmat(temp',1,2);for i = 1:size(A,1)    t = plot(xx,yy(i,:));    set(t,'LineStyle','-','Marker','none','LineWidth',2,'Color',C(i,1:3))end% 构造球数据并绘制bx = lx+ll/2;by = temp';drawball(bx,by,0.2,C)lab = {'Samp1' 'Samp2'};for i = 1:size(A,1)    text(lx+ll+ll*0.1,temp(i),lab{i},'HorizontalAlignment','left','VerticalAlignment','middle','FontSize',9,'FontName','Arial','color','k')end

然后再添加一些细节,并输出保存:

以上。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值