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

news/2024/9/24 8:18:19/

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

本期内容就来分享一下带三维球标记的折线图的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

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

以上。


http://www.ppmy.cn/news/1470379.html

相关文章

PHP和Mysql前后端交互效果实现

一、连接数据库基本函数 mysqli_connect(); 作用&#xff1a;创建数据库连接&#xff0c;打开一个新的mysql的连接。传参顺序&#xff1a;数据库地址、数据库账号、数据库密码 <?phpecho mysqli_connect("localhost",root,root) ?> /*结果&#xff1a;F…

2024 年最新 windows 操作系统部署安装 redis 数据库详细教程(更新中)

Redis 数据库概述 Redis 是一个开源的&#xff0c;内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中介。Redis&#xff08;Remote Dictionary Server &#xff09;&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基…

AMD vs NVIDIA:渲染领域的显卡之争

在数字创意与设计的世界里&#xff0c;显卡作为图形处理的核心&#xff0c;其性能与兼容性直接关系到创作者的工作效率与作品质量。AMD与NVIDIA&#xff0c;作为两大显卡巨头&#xff0c;各自在渲染领域拥有独特的技术与优势。那么&#xff0c;针对渲染而言&#xff0c;哪种显卡…

AWS无服务器 应用程序开发—第十二章 AWS Step Functions

AWS Step Functions 是一种服务,用于协调和管理分布式应用程序中的多个 AWS 服务和 Lambda 函数。它通过创建有状态的工作流来简化和自动化应用程序的各种工作流程,使得复杂的业务逻辑可以以可管理和可调试的方式实现。 主要功能和特点: 状态机定义: 使用 JSON 或 Amazo…

爬虫学习。。。。

爬虫的概念&#xff1a; 爬虫是一种自动化信息采集程序或脚本&#xff0c;用于从互联网上抓取信息。 它通过模拟浏览器请求站点的行为&#xff0c;获取资源后分析并提取有用数据&#xff0c;这些数据可以是HTML代码、JSON数据或二进制数据&#xff08;如图片、视频&#xff09…

多商家抽奖管理系统介绍和小程序APP演示

阿基米德多商家抽奖管理系统&#xff0c;采用Thinkphp8.0vue3.0uniapp技术栈开发&#xff0c;前后端分离&#xff0c;客户端支持小程序、H5、APP一键打包&#xff0c;功能完善、成熟稳定&#xff0c;使用简单易上手&#xff0c;是一套可以直接商业化运营的好系统&#xff0c;其…

群晖NAS本地部署并运行一个基于大语言模型Llama2的个人本地聊天机器人

前言 本文主要分享如何在群晖 NAS 本地部署并运行一个基于大语言模型 Llama 2 的个人本地聊天机器人并结合内网穿透工具发布到公网远程访问。本地部署对设备配置要求高一些,如果想要拥有比较好的体验,可以使用高配置的服务器设备. 目前大部分大语言模型的产品都是基于网络线上…

JAVA语言开发的一套(智慧工地监管系统源码)让工地变得更加“聪明”

JAVA语言开发的一套&#xff08;智慧工地监管系统源码&#xff09;让工地变得更加“聪明” 数字智慧工地是指利用物联网、大数据、云计算、人工智能等先进技术&#xff0c;对工地进行全面数字化改造和智能化升级&#xff0c;实现工地管理的精细化、高效化和智能化。它通过实时…