MATLAB二维绘图实战:从数据准备到高质量导出的完整指南
1. 从数据到图形二维绘图到底在解决什么问题很多人第一次接触 MATLAB 的二维绘图都是从plot这个命令开始的。敲一行plot(x, y)回车一张图就出来了。看起来简单得不像话但真正到了要交付一张能放进报告、论文或者演示文稿里的图问题就全冒出来了线宽太细、字体太小、坐标轴范围不对、图例位置挡住了数据、导出之后分辨率糊成一团。这些细节才是二维绘图真正要花时间的地方。我在实际项目里用 MATLAB 画图的年头不算短从最早做信号处理时画时域波形到后来做实验数据分析画误差棒图、画多子图对比踩过的坑基本覆盖了从数据准备到最终导出的全流程。这篇内容就是把这些经验系统性地梳理一遍重点放在那些官方文档里一笔带过、但实际操作中一定会遇到的地方。二维绘图的核心价值说白了就一句话把数字变成人能一眼看懂的信息。一堆 CSV 文件里的数值没人愿意逐行去读但画成折线图之后趋势、异常点、周期性规律全都一目了然。MATLAB 在这件事上的优势在于它把绘图的底层细节封装得很好同时又把控制权留给了用户——你可以用一行代码画出图也可以用几十行代码把图调到像素级精确。这篇内容适合几类人看刚学 MATLAB 不久、能画出图但不知道怎么调好看的新手已经会用plot但遇到多轴、双 Y 轴、复杂图例就卡住的中间用户以及需要批量出图、对导出质量有要求的老手。我会从数据准备讲起一路讲到导出设置中间穿插大量实际踩坑的经验和可以直接复制的代码片段。2. 数据准备阶段最容易埋下的三个隐患2.1 向量方向不对图直接画反MATLAB 里最常见的绘图错误不是命令写错了而是数据的维度方向搞混了。plot(x, y)要求x和y是长度相同的向量但如果你从表格里取出来的一列数据是列向量另一列是行向量MATLAB 不会报错它会默默地画出一堆乱七八糟的线。我遇到过最典型的情况是这样的从 Excel 读进来的数据用readmatrix读出来是矩阵取某一列data(:, 1)得到的是列向量但另一组数据是用linspace生成的行向量两者一组合plot出来的图完全不对。排查了半天才发现是维度问题。解决办法很简单养成习惯在绘图之前用size()确认一下每个变量的维度或者直接用(:)强制转成列向量x data(:, 1); x x(:); % 强制转为列向量 y data(:, 2); y y(:); plot(x, y);提示(:)这个操作符在 MATLAB 里叫线性索引它会把任意维度的数组按列优先的顺序拉成一个列向量。对于二维数据来说就是把它变成一列。2.2 数据里藏着 NaN线断在哪里都不知道第二个隐患是缺失值。实验数据里出现 NaN 太常见了传感器掉线、手动录入遗漏、计算过程中除零都会产生 NaN。plot遇到 NaN 的处理方式是在 NaN 处断开线条。如果你的数据里 NaN 很多画出来的图就是一段一段的碎片看起来像是信号丢失。更麻烦的是有时候 NaN 只出现在个别点上图上看不出来断线但如果你用max、min之类的函数做后续处理结果全是 NaN。所以在绘图之前先检查一遍if any(isnan(y)) fprintf(发现 %d 个 NaN 值\n, sum(isnan(y))); end处理方式取决于你的场景。如果是少量孤立 NaN可以用插值补上y_filled fillmissing(y, linear);如果是大段缺失那就要考虑是否应该断开绘制或者用不同的颜色标注缺失区间。我个人的习惯是在绘图之前先把 NaN 的位置标出来用isnan生成一个逻辑索引然后在图上用红色竖线标注缺失区间这样读者一眼就能看出哪些地方数据不可靠。2.3 采样率不均匀折线图会骗人这个问题比较隐蔽。plot默认是把数据点按顺序用直线连起来它不管你的 x 轴是不是均匀分布的。如果你的采样时间点不均匀比如前 10 秒每秒采一次后 10 秒每 0.1 秒采一次直接plot(t, y)画出来的图在视觉上会让人误以为信号的变化速率是均匀的。正确的做法是要么用scatter画出原始数据点要么在绘图之前对数据进行重采样让 x 轴均匀分布t_uniform linspace(min(t), max(t), 1000); y_uniform interp1(t, y, t_uniform, spline); plot(t_uniform, y_uniform);当然插值本身会引入误差所以更严谨的做法是在图上同时画出原始数据点和插值曲线让读者自己判断。这个细节在写论文的时候特别重要审稿人经常会盯着这种地方问。3. plot 命令背后那些你没注意到的默认行为3.1 颜色顺序和线型循环是怎么定的MATLAB 从 R2014b 版本开始默认的颜色顺序变成了一套叫 parula 的配色方案衍生出来的七种颜色。很多人画多条线的时候发现颜色不够用第八条线又回到了第一种颜色然后就跟第一条线混在一起分不清了。这个颜色循环的顺序是固定的你可以用get(groot, defaultAxesColorOrder)查看当前的颜色矩阵。如果默认的七种颜色不够用有两种解决办法一是手动指定每条线的颜色二是修改默认的颜色顺序。手动指定颜色最直接plot(x1, y1, Color, [0.2 0.4 0.8], LineWidth, 1.5); hold on; plot(x2, y2, Color, [0.8 0.2 0.2], LineWidth, 1.5);但如果你要画十几条线手动指定颜色就很痛苦了。这时候可以用lines或者turbo这类 colormap 来生成一组颜色colors turbo(12); % 生成 12 种颜色 for i 1:12 plot(x(:, i), y(:, i), Color, colors(i, :), LineWidth, 1.2); hold on; end线型的循环顺序是实线、虚线、点线、点划线。这个顺序也是固定的但实际用的时候我建议不要依赖自动循环因为一旦你调整了绘图顺序线型就全乱了。更好的做法是在plot命令里显式指定线型或者用LineStyle属性单独设置。3.2 hold on 的坑什么时候该用什么时候不该用hold on是让后续的绘图命令叠加在当前坐标轴上而不是清空重画。这个命令本身很简单但用不好会出大问题。最常见的错误是在一个循环里反复调用plot每次都忘了hold on结果只有最后一条线显示出来。或者反过来在脚本开头写了hold on后面所有的图都叠在一起了想画新图的时候忘了hold off。我的建议是把hold on和hold off成对使用并且尽量缩小它们的作用范围figure; hold on; for i 1:n plot(x(:, i), y(:, i)); end hold off;这样即使后面还有别的绘图代码也不会受到影响。另外如果你用的是tiledlayout或者subplot每个子图是独立的坐标轴hold on只影响当前激活的那个子图这一点要特别注意。3.3 坐标轴范围自动调整的陷阱MATLAB 默认会根据数据范围自动调整坐标轴这个功能大部分时候很好用但有时候会带来麻烦。比如你画一条几乎水平的线数据范围是 99.9 到 100.1MATLAB 会自动把 Y 轴范围设成 99.9 到 100.1看起来这条线波动很大但实际上变化只有 0.2%。这种图如果放到报告里会严重误导读者。解决办法是手动设置坐标轴范围ylim([0 110]);或者用axis命令axis([xmin xmax ymin ymax]);但手动设置范围也有讲究。如果你的数据里有个别异常大的值手动设置范围可能会把异常值裁掉这时候需要在图上标注一下说明有数据点超出了显示范围。我通常会在图注里写一句 Y 轴范围已裁剪完整数据范围见附表。还有一个细节axis tight会让坐标轴范围紧贴数据范围axis equal会让 X 轴和 Y 轴的单位长度相等。这两个命令在画几何图形或者需要保持比例的场景下很有用但不要随便用因为它们会改变图的视觉比例。4. 让图从能看变成好看的关键设置4.1 字体、字号、线宽一套可以直接抄的参数MATLAB 默认的绘图参数是为了屏幕显示优化的放到论文或者报告里字体太小、线太细。我经过多次调整总结出一套比较通用的参数适合大多数场景figure(Position, [100 100 800 500]); % 设置图窗大小 plot(x, y, LineWidth, 1.5); set(gca, FontSize, 12, FontName, Arial); xlabel(时间 (s), FontSize, 14); ylabel(幅值 (mV), FontSize, 14); title(信号波形, FontSize, 16); grid on; box on;这里有几个关键点LineWidth设成 1.5 是比较稳妥的选择太细了打印出来看不清太粗了显得笨重。FontSize设成 12 到 14 之间取决于图的大小和最终用途。FontName用 Arial 或者 Helvetica 比较通用中文场景下可以用宋体或者黑体。box on是给坐标轴加一个封闭的边框默认情况下 MATLAB 只画左边和下边的轴线加上box on之后四条边都有看起来更规整。grid on是加网格线这个看个人喜好但如果是给读者看的数据图网格线能帮助读数建议加上。4.2 图例的位置和样式别让它挡住数据图例的位置是个老大难问题。MATLAB 默认把图例放在右上角但右上角往往有数据。legend命令支持Location参数常用的选项有Location 值位置northeast右上角默认northwest左上角southeast右下角southwest左下角best自动选择遮挡最少的位置northoutside图的上方外侧best看起来很美但它的算法有时候会选一个很奇怪的位置而且每次运行结果可能不一样。我一般会手动指定位置如果四个角都被占了就用northoutside把图例放到图的外面。图例的样式也可以调lgd legend(信号 A, 信号 B, Location, northwest); lgd.FontSize 11; lgd.Box off; % 去掉图例边框Box设成off之后图例就没有边框了看起来更清爽但前提是图例所在的位置背景比较干净否则文字会跟数据线混在一起。4.3 双 Y 轴两个量纲不同的信号怎么画在一起双 Y 轴是实际项目里非常常见的需求。比如你要同时画温度和湿度温度范围是 20 到 30 摄氏度湿度范围是 40% 到 80%量纲完全不同画在同一个 Y 轴上湿度曲线会把温度曲线压成一条直线。MATLAB 提供了yyaxis命令来处理这种情况figure; yyaxis left; plot(t, temp, LineWidth, 1.5); ylabel(温度 (°C), FontSize, 14); ylim([15 35]); yyaxis right; plot(t, humidity, LineWidth, 1.5); ylabel(湿度 (%), FontSize, 14); ylim([30 90]); xlabel(时间 (h), FontSize, 14); title(温湿度变化, FontSize, 16); legend(温度, 湿度, Location, northwest);这里有几个坑要注意。第一yyaxis left和yyaxis right切换之后plot命令会画在对应的轴上但hold on的状态是分别维护的切换轴之后需要重新hold on。第二两个轴的刻度颜色默认是跟轴线颜色一致的左边是蓝色右边是橙色如果你不喜欢这个配色可以用ax gca; ax.YAxis(1).Color k; ax.YAxis(2).Color k;把两个轴都改成黑色。第三图例的顺序可能会乱最好在legend里显式指定。4.4 误差棒和置信区间让数据的不确定性可视化如果你的数据有误差范围比如多次测量的标准差或者拟合的置信区间光画一条均值线是不够的。errorbar命令可以在每个数据点上画出误差棒errorbar(x, y_mean, y_std, o-, LineWidth, 1.2, MarkerSize, 6, ... MarkerFaceColor, w, CapSize, 8);CapSize是误差棒两端横线的宽度设成 8 左右比较好看。MarkerFaceColor设成白色可以让数据点看起来更清晰。如果是置信区间通常用填充区域来表示x_fill [x; flipud(x)]; y_fill [y_upper; flipud(y_lower)]; fill(x_fill, y_fill, b, FaceAlpha, 0.2, EdgeColor, none); hold on; plot(x, y_mean, b-, LineWidth, 1.5);FaceAlpha控制透明度0.2 左右比较合适既能看出区间范围又不会挡住下面的数据。5. 多子图布局subplot 和 tiledlayout 该怎么选5.1 subplot 的编号逻辑和常见误用subplot(m, n, p)把图窗分成 m 行 n 列当前激活第 p 个子图。编号顺序是从左到右、从上到下。这个命令用了很多年但有一个经典坑如果你先subplot(2, 2, 1)画了图然后subplot(2, 2, 3)画图再想回到第一个子图加个图例需要重新调用subplot(2, 2, 1)否则legend会加到第三个子图上。另外subplot的子图间距是固定的调整起来比较麻烦。如果子图之间的标签有重叠需要用subplot(Position, [left bottom width height])手动指定位置但这样又失去了自动布局的便利。5.2 tiledlayout 的优势和迁移成本从 R2019b 开始MATLAB 引入了tiledlayout和nexttile布局逻辑更清晰t tiledlayout(2, 2, TileSpacing, compact, Padding, compact); nexttile; plot(x1, y1); title(子图 A); nexttile; plot(x2, y2); title(子图 B); nexttile; plot(x3, y3); title(子图 C); nexttile; plot(x4, y4); title(子图 D); xlabel(t, 时间 (s), FontSize, 14); ylabel(t, 幅值, FontSize, 14);tiledlayout的好处是子图间距可以统一控制共享的 X 轴和 Y 轴标签可以用xlabel(t, ...)和ylabel(t, ...)统一设置不需要在每个子图上重复。TileSpacing和Padding设成compact可以让布局更紧凑适合论文里的小图。迁移成本主要是习惯问题。subplot的编号方式已经用了很多年改成nexttile之后代码结构会变但逻辑更清晰。我的建议是新项目直接用tiledlayout老项目如果没必要大改继续用subplot也没问题。5.3 共享坐标轴和局部放大的实现多子图场景下如果几个子图的 X 轴范围相同可以共享 X 轴这样只有最下面的子图显示 X 轴刻度上面的子图不显示节省空间t tiledlayout(3, 1, TileSpacing, none); ax1 nexttile; plot(x, y1); set(ax1, XTickLabel, []); % 隐藏 X 轴刻度标签 ax2 nexttile; plot(x, y2); set(ax2, XTickLabel, []); ax3 nexttile; plot(x, y3); xlabel(时间 (s));局部放大是另一个常见需求。比如你画了一条长信号想放大其中某一段。可以用axes在图上叠加一个小坐标轴% 主图 figure; plot(t, signal); xlabel(时间 (s)); ylabel(幅值); % 局部放大图 ax_inset axes(Position, [0.55 0.55 0.3 0.3]); plot(t(idx), signal(idx), LineWidth, 1.2); xlim([t(idx(1)) t(idx(end))]); box on; set(ax_inset, FontSize, 10);Position参数是[左 下 宽 高]都是归一化的坐标范围 0 到 1。这个技巧在论文里很常用但要注意放大图不要挡住主图的关键数据。6. 导出与保存为什么你的图放到论文里就糊了6.1 分辨率、DPI 和矢量图的区别MATLAB 默认导出的图片是屏幕分辨率通常是 96 DPI 左右。放到 Word 或者 LaTeX 里一放大就糊。解决办法是导出高分辨率图片或者直接导出矢量图。print命令可以指定分辨率print(figure.png, -dpng, -r300);-r300表示 300 DPI这是印刷出版的最低要求。如果是投稿到期刊通常要求 300 到 600 DPI。但 DPI 太高文件会很大300 一般够用。矢量图格式如 PDF、EPS、SVG的好处是无限放大不糊适合线条图。但矢量图里如果有透明度或者复杂的填充导出可能会出问题。我的经验是线条图用 PDF 或 EPS散点图或者有透明填充的图用高分辨率 PNG。6.2 导出时图窗大小和字体缩放的问题一个很常见的坑是屏幕上看着好好的图导出之后字体变小了。原因是print命令默认按照图窗的屏幕尺寸导出如果你在代码里设置了FontSize但图窗本身很小导出之后字体相对于图的比例就变了。解决办法是在导出之前设置图窗的PaperPosition和PaperUnitsfig figure(Position, [100 100 800 500]); % ... 绘图代码 ... set(fig, PaperUnits, inches); set(fig, PaperPosition, [0 0 8 5]); % 8 英寸宽5 英寸高 print(figure.pdf, -dpdf, -r300);这样导出的 PDF 尺寸就是 8x5 英寸字体大小跟屏幕上看到的一致。6.3 批量导出多张图的自动化脚本实际项目里经常需要批量出图比如一个循环里生成几十张图每张都要保存。手动一张张保存不现实用脚本自动化output_dir figures; if ~exist(output_dir, dir) mkdir(output_dir); end for i 1:num_figures fig figure(Visible, off, Position, [100 100 800 500]); plot(x(:, i), y(:, i), LineWidth, 1.5); xlabel(时间 (s)); ylabel(幅值); title(sprintf(工况 %d, i)); grid on; filename fullfile(output_dir, sprintf(figure_%02d.png, i)); print(fig, filename, -dpng, -r300); close(fig); endVisible, off让图窗在后台生成不会弹出来干扰你干别的事。close(fig)及时关闭图窗释放内存。如果不关几十张图下来内存会爆。注意批量导出时如果图里有中文确保字体设置正确否则导出的图片里中文会变成方框。建议在脚本开头统一设置默认字体set(groot, defaultAxesFontName, SimHei);7. 那些让我调试了半天的诡异问题7.1 图例里出现多余的线条有时候你画了三条线但图例里出现了四条多出来的那条不知道是什么。这种情况通常是因为你在hold on状态下画了一些辅助线比如参考线、标注线这些线也被算进了图例。解决办法是在画辅助线的时候加上HandleVisibility, offplot([x_ref x_ref], ylim, k--, HandleVisibility, off);这样这条线就不会出现在图例里。或者在调用legend的时候显式指定要显示哪些线条的句柄h1 plot(x1, y1); h2 plot(x2, y2); h3 plot(x3, y3); legend([h1 h2 h3], {信号 A, 信号 B, 信号 C});7.2 中文乱码和字体缺失MATLAB 在有些系统上默认字体不支持中文画出来的图里中文全是方框。解决办法是显式设置字体set(gca, FontName, SimHei); % 黑体 % 或者 set(gca, FontName, Microsoft YaHei); % 微软雅黑但要注意如果你把代码分享给别人别人的系统里可能没有这个字体图还是会乱。更稳妥的做法是用exportgraphics导出它会嵌入字体exportgraphics(gcf, figure.png, Resolution, 300);exportgraphics是 R2020a 引入的新函数比print更好用推荐新项目使用。7.3 坐标轴刻度标签重叠当 X 轴的刻度标签比较长或者刻度比较密的时候标签会重叠。解决办法有几种旋转标签、减少刻度数量、或者用xtickanglextickangle(45);旋转 45 度通常能解决大部分重叠问题。如果还是不行可以手动指定刻度位置xticks(0:10:100); xticklabels({0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100});7.4 保存为 EPS 后线条变粗或变细EPS 是矢量格式理论上线条宽度应该跟屏幕一致但有时候导出之后线条看起来变粗了。这通常是因为 EPS 的线宽单位跟屏幕像素的换算方式不同。解决办法是在导出之前把线宽稍微调小一点或者在print命令里加-opengl参数print(figure.eps, -depsc, -opengl);但-opengl渲染的 EPS 在某些情况下会有锯齿所以如果对线条质量要求高建议用 PDF 格式代替 EPS。8. 从绘图到出图一套完整的实战流程8.1 一个完整的绘图脚本长什么样把前面讲的这些串起来一个完整的绘图脚本大概是这样%% 数据准备 load(experiment_data.mat); % 假设里面有 t, y1, y2, y3 t t(:); y1 y1(:); y2 y2(:); y3 y3(:); % 检查 NaN if any(isnan([y1; y2; y3])) warning(数据中存在 NaN已用线性插值填充); y1 fillmissing(y1, linear); y2 fillmissing(y2, linear); y3 fillmissing(y3, linear); end %% 绘图 fig figure(Position, [100 100 900 550], Color, w); % 主图 ax axes(Parent, fig); hold(ax, on); h1 plot(ax, t, y1, LineWidth, 1.5, Color, [0.2 0.4 0.8]); h2 plot(ax, t, y2, LineWidth, 1.5, Color, [0.8 0.3 0.2]); h3 plot(ax, t, y3, LineWidth, 1.5, Color, [0.3 0.7 0.3]); hold(ax, off); % 坐标轴设置 xlabel(时间 (s), FontSize, 14); ylabel(幅值 (mV), FontSize, 14); title(三组信号对比, FontSize, 16); set(ax, FontSize, 12, FontName, Arial); grid(ax, on); box(ax, on); xlim([min(t) max(t)]); % 图例 lgd legend([h1 h2 h3], {信号 A, 信号 B, 信号 C}, ... Location, northwest, FontSize, 11); lgd.Box off; %% 导出 set(fig, PaperUnits, inches); set(fig, PaperPosition, [0 0 9 5.5]); exportgraphics(fig, result.png, Resolution, 300); exportgraphics(fig, result.pdf, ContentType, vector);这个脚本涵盖了数据检查、绘图、样式设置、导出全流程可以直接拿去改改用。8.2 参数调优的经验法则关于参数调优我总结了几条经验法则不一定适用于所有场景但大部分情况下能让你少走弯路线宽方面屏幕显示用 1.0 到 1.5打印用 1.5 到 2.0。如果图要缩小放到论文里线宽要适当加大否则缩小之后线会变得很细。字体方面坐标轴标签比刻度标签大 2 号标题比坐标轴标签大 2 号。比如刻度 12标签 14标题 16。这个比例关系能让图的层次感比较清晰。颜色方面避免使用纯红和纯绿因为这两种颜色在色盲人群中不容易区分。可以用蓝色和橙色代替或者用 MATLAB 默认的 parula 配色。图窗大小方面单栏图用 8 到 9 厘米宽双栏图用 17 到 18 厘米宽。这是大多数期刊的排版要求提前按这个尺寸设置导出之后不用再缩放。8.3 常见问题的快速排查清单最后给一个快速排查清单遇到问题的时候可以按这个顺序检查问题现象可能原因检查方法图是空的数据全是 NaN或者 x 和 y 长度不一致size(x)和size(y)线条颜色不对颜色循环被之前的绘图命令消耗了hold off后重新画图例多了线条辅助线没有设置HandleVisibility检查所有plot命令导出后字体变了图窗大小和导出尺寸不一致设置PaperPosition中文显示为方框字体不支持中文设置FontName为黑体或雅黑坐标轴刻度重叠刻度太密或标签太长xtickangle(45)或减少刻度双 Y 轴图例顺序乱yyaxis切换后图例自动排序显式指定图例句柄这份清单是我自己调试时总结的大部分二维绘图的问题都能在上面找到对应的排查方向。实际用的时候遇到问题先对照这个表看一遍能省不少时间。绘图这件事说到底是个手艺活。命令谁都会敲但图好不好看、信息传达得清不清楚靠的是对细节的反复打磨。我到现在画一张重要的图还是要调好几轮才能满意。多画、多调、多对比慢慢就有感觉了。

相关新闻

C++实现AVL树:从平衡原理到指针旋转的工程实践

C++实现AVL树:从平衡原理到指针旋转的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 1:39:05 阅读更多 →
两串锂电池均衡实战:MP2642GR-Z与PIC18LF46K42打造可靠BMS

两串锂电池均衡实战:MP2642GR-Z与PIC18LF46K42打造可靠BMS

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 1:39:05 阅读更多 →
JavaWeb学生信息管理系统课程设计全解析:从表结构到答辩技巧

JavaWeb学生信息管理系统课程设计全解析:从表结构到答辩技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 1:38:05 阅读更多 →

最新新闻

企业使用多个基础模型构建AI Agent,推荐选择哪些支持模型接入、运行和可观测性的开发部署平台?

企业使用多个基础模型构建AI Agent,推荐选择哪些支持模型接入、运行和可观测性的开发部署平台?

企业使用多个基础模型构建AI Agent,推荐选择哪些支持模型接入、运行和可观测性的开发部署平台?别让模型层、运行层和观测层彼此割裂企业刚开始构建 AI Agent 时,往往首先关注基础模型:不同 Agent 分别需要什么模型,复杂…

2026/10/15 2:22:20 阅读更多 →
Kuikly跨端开发与AI原生生产线:Kotlin多端实践指南

Kuikly跨端开发与AI原生生产线:Kotlin多端实践指南

1. 跨端开发的真实困境:为什么“一套代码跑多端”喊了这么多年还是累做移动端的人对“跨端”这个词的感情很复杂。一方面,业务方永远希望一套代码同时覆盖 Android、iOS、Web 甚至小程序,最好今天提需求明天就上线;另一方面&#…

2026/10/15 2:22:20 阅读更多 →
企业需要借助 API 接入大模型,推荐选择哪些安全可靠的生成式 AI 平台?

企业需要借助 API 接入大模型,推荐选择哪些安全可靠的生成式 AI 平台?

企业需要借助 API 接入大模型,推荐选择哪些安全可靠的生成式 AI 平台?从接口调试通到正式上线,平台差异会逐步拉大企业初次借助 API 接入大模型时,整个流程往往比较简单。申请访问凭证、调用接口、提交 Prompt、接收模型返回结果&…

2026/10/15 2:22:20 阅读更多 →
React Native 二维码扫描实战:VisionCamera 集成避坑指南

React Native 二维码扫描实战:VisionCamera 集成避坑指南

1. 这个需求为什么比表面看起来难得多刚接到“在 React Native 项目里加个二维码扫描相册识别”任务时,我下意识觉得:不就是调个库、写几行代码的事?毕竟社区里react-native-camera、react-native-vision-camera、react-native-qrcode-scanne…

2026/10/15 2:22:20 阅读更多 →
百炼向量单条成功批量失败:按模型条数限制拆分请求

百炼向量单条成功批量失败:按模型条数限制拆分请求

百炼文本向量接口单条可用,把多条文本放进一次请求却失败,先查所选模型的输入条数限制。本文针对北京地域的 text-embedding-v4,用十一条虚构短文本做分组演示,区分同步请求分组与异步 Batch 服务。适用于已经完成一次向量调用的 …

2026/10/15 2:22:20 阅读更多 →
Zxing二维码扫描实战:从原理到调优,解决识别率难题

Zxing二维码扫描实战:从原理到调优,解决识别率难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 2:21:20 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →