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

2024-06-20 19:44

本文主要是介绍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

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

以上。

这篇关于Matlab个性化绘图第3期—带三维球标记的折线图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079081

相关文章

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

hdu1240、hdu1253(三维搜索题)

1、从后往前输入,(x,y,z); 2、从下往上输入,(y , z, x); 3、从左往右输入,(z,x,y); hdu1240代码如下: #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#inc

hdu4826(三维DP)

这是一个百度之星的资格赛第四题 题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=500 题意:从左上角的点到右上角的点,每个点只能走一遍,走的方向有三个:向上,向下,向右,求最大值。 咋一看像搜索题,先暴搜,TLE,然后剪枝,还是TLE.然后我就改方法,用DP来做,这题和普通dp相比,多个个向上

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

三色标记(Tri-color marking)

维基百科部分 原文 https://en.wikipedia.org/wiki/Tracing_garbage_collection#TRI-COLOR Because of these performance problems, most modern tracing garbage collectors implement some variant of the tri-color ma

Vector3 三维向量

Vector3 三维向量 Struct Representation of 3D vectors and points. 表示3D的向量和点。 This structure is used throughout Unity to pass 3D positions and directions around. It also contains functions for doin

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };