当前位置: 首页 > news >正文

MATLAB | 绘图复刻(八) | 堆叠柱状图+哑铃图

本次复刻的是Nature Communications中Friedman, S.T., Muñoz, M.M. A latitudinal gradient of deep-sea invasions for marine fishes. Nat Commun 14, 773 (2023). https://doi.org/10.1038/s41467-023-36501-4的Fig1图像:

复刻效果:

文章可在如下网站下载pdf文件:
https://www.nature.com/articles/s41467-023-36501-4

同时作者提供了相关绘图的R语言代码,但其绘制代码甚至比MATLAB绘制复杂:
https://github.com/stfriedman/Depth-transitions-paper

仓库并没有提供绘图数据,在datadryad网站提供了原始数据,可以进行下载:
https://datadryad.org/stash/dataset/doi:10.5061/dryad.fc71cp4

这里我们为了方便就随便构造一点数据。

0 数据构造

用以下代码随机生成了一些数据:

rng(1)
% random data
Name={'Serranidae','Zoarcidae','Myctophidae','Sebastidae','Liparidae','Carangidae','Scombridae','Psychrolutidae',...'Notothenioid','Macrouridae','Soleidae','Pleuronectidae','Paralichthyidae','Sternoptychidae','Ophidiidae',...'Lutjanidae','Sparidae','Moridae','Monacanthidae','Agonidae','Triglidae','Platycephalidae','Ophichthidae',...'Antennariidae','Holocentridae','Bothidae','Chaerodontidae','Clupeidae','Tetraodontidae','Nemipteridae',...'Muraenidae','Mullidae','Lethrinidae','Balistidae','Stomiidae','Exocoetidae','Acanthuridae','Sciaenidae',...'Syngnathidae','Pomacanthidae','Haemulidae','Blenniidae','Apogonidae','Pomacentridae','Cobiidae','Labridae'}.';
N=size(Name,1);
RatioData=rand(N,3);
RatioData=RatioData./sum(RatioData,2);
%
Shallow=RatioData(:,1);
Deep=RatioData(:,2);
Intermediate=RatioData(:,3);
%
Median=rand(N,1).*40;
High=Median+rand(N,1).*20;
Low=Median-rand(N,1).*20;
Low(Low<0)=0;
%
Exact=rand(N,1).*50-25+Median;
Exact(Exact<0)=0;
% 
T=table(Name,Shallow,Deep,Intermediate,Median,Low,High,Exact)
writetable(T,'ta_results_revisions_data.csv')

运行结果会存在ta_results_revisions_data.csv文件夹内,数据大概长这样:

% 46×8 table
% 
%         Name            Shallow        Deep      Intermediate    Median     Low       High      Exact 
%   _________________    __________    ________    ____________    ______    ______    ______    _______
% 
%   {'Serranidae'   }       0.23487     0.51173        0.2534      34.542    25.344    39.748      19.47
%   {'Zoarcidae'    }       0.45237     0.18439       0.36324      29.885    18.958     45.98      26.22
%   {'Myctophidae'  }    0.00016433     0.41345       0.58638       22.25    6.2775    26.118     14.417
%   {'Sebastidae'   }       0.45166     0.19425       0.35409      5.4582         0    18.247      20.34
%   {'Liparidae'    }       0.13722    0.018108       0.84467      2.3967         0     12.89     21.397
% 
%           :                :            :             :            :         :         :          :   
% 
%   {'Blenniidae'   }       0.43205     0.55718      0.010768      14.803    8.4557    33.606    0.21309
%   {'Apogonidae'   }       0.16076      0.3803       0.45894      25.189     12.75    36.829      12.59
%   {'Pomacentridae'}       0.48011     0.37817       0.14172       8.407         0    25.984     25.991
%   {'Cobiidae'     }        0.1007     0.11194       0.78736       30.11    10.634    47.005     25.903
%   {'Labridae'     }       0.25089     0.53185       0.21726      2.6615         0    20.769     8.4957

1 数据导入

就readtable,没啥技术含量:

% 数据导入
Data=readtable('ta_results_revisions_data.csv');
[N,~]=size(Data);

2 图窗及坐标区域创建

% figure窗口及axes坐标区域创建
fig=figure('Units','normalized','Position',[.1,.05,.55,.85],'Color',[1,1,1]);
% -------------------------------------------------------------------------
% 左侧柱状图axes
ax1=axes(fig);
ax1.NextPlot='add';
ax1.Position=[.12,.1,.3,.88];
ax1.XLim=[-.01,1];
ax1.YLim=[.5,N+.5];
plot(ax1,[-.01,-.01],[.5,N+.5],'Color',[1,1,1],'LineWidth',2)
ax1.YTick=1:N;
ax1.TickLength=[1e-5,14-5];
ax1.YTickLabel=Data.Name;
ax1.YDir='reverse';
ax1.XColor='none';
ax1.FontName='Times New Roman';
ax1.FontSize=11;
% -------------------------------------------------------------------------
ax2=axes(fig);
ax2.NextPlot='add';
ax2.Position=[.44,.1,.54,.88];
ax2.FontName='Times New Roman';
ax2.YColor='none';
ax2.XLim=[-5,80];
ax2.YLim=[.5,N+.5];
ax2.XTick=[0,20,40,60];
ax2.LineWidth=.8;
ax2.TickDir='out';
ax2.FontSize=11;
ax2.XLabel.String='Number of Transitions';
ax2.XLabel.FontSize=16;


3 堆叠柱状图绘制并改颜色

非常简单,主要需要添加stacked属性:

% 左侧堆叠柱状图绘制
barhHdl=barh(ax1,[Data.Shallow,Data.Intermediate,Data.Deep],'stacked');
% 修改配色
barhHdl(1).EdgeColor='none';
barhHdl(2).EdgeColor='none';
barhHdl(3).EdgeColor='none';
barhHdl(1).FaceColor=[176,224,230]./255;
barhHdl(2).FaceColor=[44,142,181]./255;
barhHdl(3).FaceColor=[22,70,91]./255;

顺便画个图例:

% 绘制图例
lgd1Hdl=legend(ax1,barhHdl,{'Shallow','Intermediate','Deep'});
lgd1Hdl.NumColumns=2;
lgd1Hdl.ItemTokenSize=[18,18];
lgd1Hdl.Position=[.17,.02,.2,.07];
lgd1Hdl.FontSize=13;

4 绘制灰线及圆角矩形

这里绘制线条其实只画了一条,只是每隔两个点之间加个NaN把线断开了:

% 绘制灰色线条
XX=repmat(ax2.XLim,[N,1])*[1,0,nan;0,1,nan];
YY=repmat((1:N)',[1,3]);XX=XX';YY=YY';
plot(ax2,XX(:),YY(:),'LineWidth',.8,'Color',[229,229,229]./255)
% 绘制圆角矩形
for i=1:N
rectangle(ax2,'Position',[Data.Low(i),i-.4,Data.High(i)-Data.Low(i),.8],...'EdgeColor','none','FaceColor',[229,229,229]./255,'Curvature',1)
end


5 绘制中位数圆点

% 绘制中值点与实际值连线
NXX=[Data.Median,Data.Exact]*[1,0,nan;0,1,nan];NXX=NXX';
plot(ax2,NXX(:),YY(:),'LineWidth',.8,'Color',[102,102,102]./255,'LineWidth',1.5)
% 绘制中值处圆点
scatter(ax2,Data.Median,1:N,120,'filled','o','MarkerFaceColor',[1,1,1],...'MarkerEdgeColor',[102,102,102]./255,'LineWidth',1.5)


6 绘制确切值圆点及图例

根据是否在范围内赋予不同的颜色:

% 绘制实际值圆点
scAHdl=scatter(ax2,Data.Exact(Data.Exact>Data.High),find(Data.Exact>Data.High),...120,'filled','o','MarkerFaceColor',[0,160,138]./255,'MarkerEdgeColor',[0,160,138]./255,'LineWidth',1.5);
scWHdl=scatter(ax2,Data.Exact(Data.Exact<=Data.High&Data.Exact>=Data.Low),find(Data.Exact<=Data.High&Data.Exact>=Data.Low),...120,'filled','o','MarkerFaceColor',[102,102,102]./255,'MarkerEdgeColor',[102,102,102]./255,'LineWidth',1.5);
scBHdl=scatter(ax2,Data.Exact(Data.Exact<Data.Low),find(Data.Exact<Data.Low),...120,'filled','o','MarkerFaceColor',[241,175,1]./255,'MarkerEdgeColor',[241,175,1]./255,'LineWidth',1.5);
% 绘制图例
lgd2Hdl=legend(ax2,[scAHdl,scWHdl,scBHdl],{'Above expectation','Within expectation','Below expectation'});
lgd2Hdl.Location='southeast';
lgd2Hdl.FontSize=13;
lgd2Hdl.TextColor=[.4,.4,.4];


完整代码

% stackedBarhBarDumbbellBemo
% @author : slandarer
% gzh  : slandarer随笔% 数据导入
Data=readtable('ta_results_revisions_data.csv');
[N,~]=size(Data);
%% ========================================================================
% figure窗口及axes坐标区域创建
fig=figure('Units','normalized','Position',[.1,.05,.55,.85],'Color',[1,1,1]);
% -------------------------------------------------------------------------
% 左侧柱状图axes
ax1=axes(fig);
ax1.NextPlot='add';
ax1.Position=[.12,.1,.3,.88];
ax1.XLim=[-.01,1];
ax1.YLim=[.5,N+.5];
plot(ax1,[-.01,-.01],[.5,N+.5],'Color',[1,1,1],'LineWidth',2)
ax1.YTick=1:N;
ax1.TickLength=[1e-5,14-5];
ax1.YTickLabel=Data.Name;
ax1.YDir='reverse';
ax1.XColor='none';
ax1.FontName='Times New Roman';
ax1.FontSize=11;
% -------------------------------------------------------------------------
ax2=axes(fig);
ax2.NextPlot='add';
ax2.Position=[.44,.1,.54,.88];
ax2.FontName='Times New Roman';
ax2.YColor='none';
ax2.XLim=[-5,80];
ax2.YLim=[.5,N+.5];
ax2.XTick=[0,20,40,60];
ax2.LineWidth=.8;
ax2.TickDir='out';
ax2.FontSize=11;
ax2.XLabel.String='Number of Transitions';
ax2.XLabel.FontSize=16;
%% ========================================================================
% 左侧堆叠柱状图绘制
barhHdl=barh(ax1,[Data.Shallow,Data.Intermediate,Data.Deep],'stacked');
% 修改配色
barhHdl(1).EdgeColor='none';
barhHdl(2).EdgeColor='none';
barhHdl(3).EdgeColor='none';
barhHdl(1).FaceColor=[176,224,230]./255;
barhHdl(2).FaceColor=[44,142,181]./255;
barhHdl(3).FaceColor=[22,70,91]./255;
% 绘制图例
lgd1Hdl=legend(ax1,barhHdl,{'Shallow','Intermediate','Deep'});
lgd1Hdl.NumColumns=2;
lgd1Hdl.ItemTokenSize=[18,18];
lgd1Hdl.Position=[.17,.02,.2,.07];
lgd1Hdl.FontSize=13;
%% ========================================================================
% 右侧哑铃图绘制
% 绘制灰色线条
XX=repmat(ax2.XLim,[N,1])*[1,0,nan;0,1,nan];
YY=repmat((1:N)',[1,3]);XX=XX';YY=YY';
plot(ax2,XX(:),YY(:),'LineWidth',.8,'Color',[229,229,229]./255)
% 绘制圆角矩形
for i=1:N
rectangle(ax2,'Position',[Data.Low(i),i-.4,Data.High(i)-Data.Low(i),.8],...'EdgeColor','none','FaceColor',[229,229,229]./255,'Curvature',1)
end
% 绘制中值点与实际值连线
NXX=[Data.Median,Data.Exact]*[1,0,nan;0,1,nan];NXX=NXX';
plot(ax2,NXX(:),YY(:),'LineWidth',.8,'Color',[102,102,102]./255,'LineWidth',1.5)
% 绘制中值处圆点
scatter(ax2,Data.Median,1:N,120,'filled','o','MarkerFaceColor',[1,1,1],...'MarkerEdgeColor',[102,102,102]./255,'LineWidth',1.5)
% 绘制实际值圆点
scAHdl=scatter(ax2,Data.Exact(Data.Exact>Data.High),find(Data.Exact>Data.High),...120,'filled','o','MarkerFaceColor',[0,160,138]./255,'MarkerEdgeColor',[0,160,138]./255,'LineWidth',1.5);
scWHdl=scatter(ax2,Data.Exact(Data.Exact<=Data.High&Data.Exact>=Data.Low),find(Data.Exact<=Data.High&Data.Exact>=Data.Low),...120,'filled','o','MarkerFaceColor',[102,102,102]./255,'MarkerEdgeColor',[102,102,102]./255,'LineWidth',1.5);
scBHdl=scatter(ax2,Data.Exact(Data.Exact<Data.Low),find(Data.Exact<Data.Low),...120,'filled','o','MarkerFaceColor',[241,175,1]./255,'MarkerEdgeColor',[241,175,1]./255,'LineWidth',1.5);
% 绘制图例
lgd2Hdl=legend(ax2,[scAHdl,scWHdl,scBHdl],{'Above expectation','Within expectation','Below expectation'});
lgd2Hdl.Location='southeast';
lgd2Hdl.FontSize=13;
lgd2Hdl.TextColor=[.4,.4,.4];

随便改个颜色:

以上已经是完整代码,若是懒得复制可从以下gitee仓库下载文件:

https://gitee.com/slandarer/PLTreprint

相关文章:

MATLAB | 绘图复刻(八) | 堆叠柱状图+哑铃图

本次复刻的是Nature Communications中Friedman, S.T., Muoz, M.M. A latitudinal gradient of deep-sea invasions for marine fishes. Nat Commun 14, 773 (2023). https://doi.org/10.1038/s41467-023-36501-4的Fig1图像&#xff1a; 复刻效果&#xff1a; 文章可在如下网站下…...

Scala之集合(2)

目录 集合基本函数&#xff1a; &#xff08;1&#xff09;获取集合长度 &#xff08;2&#xff09;获取集合大小 &#xff08;3&#xff09;循环遍历 &#xff08;4&#xff09;迭代器 &#xff08;5&#xff09;生成字符串 &#xff08;6&#xff09;是否包含 衍生集合…...

【图像分割】视觉大模型SEEM(Segment Everything Everywhere All at Once)原理解读

文章目录 摘要&#xff08;效果&#xff09;二、前言三、相关工作四、method4.1 多用途4.2 组合性4.3 交互式。4.4 语义感知 五、实验 论文地址&#xff1a;https://arxiv.org/abs/2304.06718 测试代码&#xff1a;https://github.com/UX-Decoder/Segment-Everything-Everywher…...

Linux: command: ibstat; infiniband

文章目录 如何在Linux上安装infiniband相关的软件。ibstat相关资料 如何在Linux上安装infiniband相关的软件。 https://access.redhat.com/solutions/301643 https://docs.oracle.com/cd/E19436-01/820-3522-10/ch3-linux.html yum groupinstall “Infiniband Support” Pack…...

UML简介与类图详解

1 UML简介 1.1 UML是什么 UML&#xff0c;全称为Unified Model Language&#xff0c;即统一建模语言&#xff0c;是由一整套图表组成的&#xff0c;为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言。UML 代表了一组最佳工程实践&#xff0c;这些实践已被证明在…...

【每日一题】1994.好子集的数目

1994.好子集的数目 题目描述解决方案&#xff1a;状态压缩动态规划代码&#xff1a;Python 题目来源&#xff1a;LeetCode 原文链接&#xff1a;https://mp.weixin.qq.com/s/myI7_ZwJM7kizrwUtWgAZQ 难度级别&#xff1a;困难 题目描述 给你一个整数数组 nums。如果 nums 的一…...

坚持伙伴优先,共创数据存储新生态

4 月 26 日&#xff0c;2023 阿里云合作伙伴大会上&#xff0c;阿里巴巴集团董事会主席兼 CEO、阿里云智能集团 CEO 张勇表示&#xff0c;阿里云的核心定位是一家云计算产品公司&#xff0c;生态是阿里云的根基。让被集成说到做到的核心&#xff0c;是要坚定走向“产品被集成”…...

树形结构的三级分类如何实现?

概述&#xff1a; 本三级联动分类服务端使用的是: Springboot MyBatis-plus&#xff0c;前端使用的是&#xff1a;VueElementUI&#xff0c;树形控件使用的是el-tree。本三级联动分类可以把任一子项拖拽到其它目录&#xff0c;可以添加、编辑、删除分类。 效果图&#xff1a…...

SSM整合完整流程

&#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目前在某公司实习&#x1f…...

虹科方案 | 助力高性能视频存储解决方案-2

上篇文章《虹科方案 | 助力高性能视频存储解决方案-1》我们分享了虹科&ATTO 和 Avid 共同创建协作解决方案&#xff0c;助力高性能视频存储&#xff0c;今天我们再深入介绍一下我们的案例详情。 一、行业挑战 从高端广播设施到小型独立工作室的媒体后期制作环境都需要允许多…...

java版深圳 工程管理系统软件 自主研发,工程行业适用 软件源码

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…...

云原生Istio架构和组件介绍

目录 1 Istio 架构2 Istio组件介绍2.1 Pilot2.2 Mixer2.3 Citadel2.4 Galley2.5 Sidecar-injector2.6 Proxy(Envoy)2.7 Ingressgateway2.8 其他组件 1 Istio 架构 Istio的架构&#xff0c;分为控制平面和数据面平两部分。 - 数据平面&#xff1a;由一组智能代理&#xff08;[En…...

吹爆,全网第一个手把手教你从零开始搭建Spring Cloud Alibaba的笔记

Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案&#xff0c;是阿里巴巴开源中间件与 Spring Cloud 体系的融合。 Springcloud 和 Srpingcloud Alibaba 区别&#xff1f; SpringCloud&#xff1a; 部分组件停止维护和更新&#xff0c;给开发带来不便;SpringCl…...

企业短信遭疯狂盗用,可能是没配置验证码

手机短信作为一种快捷的通讯方式被广泛应用。不仅在个人日常生活中&#xff0c;企业也习惯使用手机短信来进行验证和提醒&#xff0c;以保证业务的正常进行。随着数字化的发展&#xff0c;手机短信也成为了不法分子滥用的目标之一&#xff0c;给个人和企业带来不同经济损失。 个…...

【UE】直升机沿样条线移动

效果 步骤 1. 将虚幻商城中的免费资产导入工程 下载完毕后可以看到如下文件 2. 新建一个Actor蓝图类&#xff0c;命名为“Track”&#xff0c;这个蓝图就是用来画样条线的 打开“Track”&#xff0c;添加样条组件 3. 打开“BP_West_Heli_AH64D” 在事件图表中先新建一个时间轴…...

GaussDB_200_6.5.1部署安装

目录 安装前准备 安装依赖 修改/etc/hosts 上传解压介质 预安装 拷贝安装包 预安装配置 编辑preinstall.ini配置文件 编辑host0配置文件 执行预安装命令 安装FusionInsight_Manager 修改install安装配置文件 执行安装命令 web操作安装数据库 GaussDB200测试 配…...

软件工具 | Python调用运筹优化求解器(一):以CVRPVRPTW为例

目录 1. 引言2. 求解器介绍3. 基础语言3.1 创建模型3.2 添加变量3.3 添加目标函数3.4 添加约束3.5 设置参数3.6 求解 4. 数学模型4.1 [CVRP数学模型](https://mp.weixin.qq.com/s/DYh-5WkrYxk1gCKo8ZjvAw)4.2 [VRPTW数学模型](https://mp.weixin.qq.com/s/tF-ayzjpZfuZvelvItue…...

如何在JAVA中实现网络编程?

在Java中实现网络编程通常需要使用Java提供的网络编程库——Java Networking API。Java Networking API支持常见的TCP和UDP协议&#xff0c;包括Socket、ServerSocket、DatagramSocket等类&#xff0c;通过这些类&#xff0c;我们可以创建、连接、监听和传输数据。 下面是在Ja…...

【redis】redis的缓存过期淘汰策略

【redis】redis的缓存过期淘汰策略 文章目录 【redis】redis的缓存过期淘汰策略前言一、面试题二、redis内存满了怎么办&#xff1f;1、redis默认内存是多少&#xff1f;在哪查看&#xff1f;如何修改?在conf配置文件中可以查看 修改&#xff0c;内存默认是0redis的默认内存有…...

ASP.NET动态Web开发技术第8章

第8章ASP.NET数据访问 一.预习笔记 1.SqlDataSource控件 SqlDataSource数据源控件支持连接SQL关系数据库&#xff0c;它使用SQL命令来检索和修改数据。通常将SqlDataSource数据源控件与数据绑定控件一起使用。 属性1&#xff1a;ID&#xff1a;当前数据源控件的唯一标识符 …...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...

前端工具库lodash与lodash-es区别详解

lodash 和 lodash-es 是同一工具库的两个不同版本&#xff0c;核心功能完全一致&#xff0c;主要区别在于模块化格式和优化方式&#xff0c;适合不同的开发环境。以下是详细对比&#xff1a; 1. 模块化格式 lodash 使用 CommonJS 模块格式&#xff08;require/module.exports&a…...

C#最佳实践:为何优先使用as或is而非强制转换

C#最佳实践&#xff1a;为何优先使用as或is而非强制转换 在 C# 的编程世界里&#xff0c;类型转换是我们经常会遇到的操作。就像在现实生活中&#xff0c;我们可能需要把不同形状的物品重新整理归类一样&#xff0c;在代码里&#xff0c;我们也常常需要将一个数据类型转换为另…...

IP选择注意事项

IP选择注意事项 MTP、FTP、EFUSE、EMEMORY选择时&#xff0c;需要考虑以下参数&#xff0c;然后确定后选择IP。 容量工作电压范围温度范围擦除、烧写速度/耗时读取所有bit的时间待机功耗擦写、烧写功耗面积所需要的mask layer...

虚拟机网络不通的问题(这里以win10的问题为主,模式NAT)

当我们网关配置好了&#xff0c;DNS也配置好了&#xff0c;最后在虚拟机里还是无法访问百度的网址。 第一种情况&#xff1a; 我们先考虑一下&#xff0c;网关的IP是否和虚拟机编辑器里的IP一样不&#xff0c;如果不一样需要更改一下&#xff0c;因为我们访问百度需要从物理机…...