找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 444|回复: 5

那些美丽的sci论文图一般用什么软件建造的?

[复制链接]

6

主题

13

回帖

42

积分

新手上路

积分
42
发表于 2023-1-7 16:30:00 | 显示全部楼层 |阅读模式
来历:知乎
我在学AI,不晓得能否是这个用的多一点。
原文地址:https://www.zhihu.com/question/27474094
免责声明:本帖内容由机械人自动收集于互联网,如加害了您的权益,请联系我们【E-Mail:cb@yoyodoc.com】 我们会实时删除侵权内容,给您带来未便,深感歉意!

3

主题

19

回帖

24

积分

新手上路

积分
24
发表于 2023-1-7 16:30:38 | 显示全部楼层
Matlab科研绘图案例,整理以下,多图长文,倡议收藏。

Matlab案例代码剖析

2. 典型绘图案例

2. 典型绘图案例
2.1  文雅的绘图色彩
2.1.1  色彩模板
2.1.2  定制colormap
2.2  二维绘图
2.2.1  曲线图、散点图
2.2.2  带有误差线的柱状图
2.2.3 简单曲线之间添补
2.2.4  复杂函数曲线之间添补
2.2.5  突变色曲线、突变色添补
2.2.6  带箭头曲线
2.2.7  多个Y轴
2.2.8  扭转多边形
2.2.9  带箭头流线
2.2.10  极坐标绘图技能
2.2.11  条形散布图
2.3  三维绘图
2.3.1  给球面贴布景图
2.3.2  三维矢量场图
2.3.3  零丁设备子图的colormap
2.3.4  曲面裁剪
2.3.5  三维曲线、散点图
2.3.6  等高线图
2.3.7  绘制伪彩图和投影图
2.4  四维绘图
2.4.1  slice切片显现
2.5  函数方程可视化
2.5.1  一元方程
2.5.2  二元方程
2.5.3  三元方程
2.6  特别绘图
2.6.1  静态趋向线可视化
2.6.2  Newton-Raphson、Julia分形
2.6.3  分形树叶
2.6.4  在指定地区内随机天生不订交不相切的圆
2.6.5  建立gif动图
2.6.6  梯度下降法的下降偏向
2.6.7  方针沿指定轨迹活动
2.6.8  看起来像拼接两个Axis
2.6.9  设备特别的图例
2.6.10  甲烷模子
2.6.11  在随机圆里发生随机点
2.6.12  斜线添补的曲线
2.6.13  球板模子
2.6.14  BP神经收集图
2.6.15  由一系列圆组成的圆环
2.6.16  棋盘格
部分存图先睹为快

那些标致的sci论文图一般用什么软件建造的?-1.jpg

那些标致的sci论文图一般用什么软件建造的?-2.jpg

那些标致的sci论文图一般用什么软件建造的?-3.jpg

那些标致的sci论文图一般用什么软件建造的?-4.jpg

那些标致的sci论文图一般用什么软件建造的?-5.jpg

那些标致的sci论文图一般用什么软件建造的?-6.jpg

那些标致的sci论文图一般用什么软件建造的?-7.jpg
2.1  文雅的绘图色彩 2.1.1  色彩模板
绘图技能固然很重要,一个标致的色彩模板更能如虎添翼,60套绘图色彩模板分享出来,每套模板6种色彩,以下为第一套模板
【2.1.1 色彩模板】科研绘图必备的60套色彩模板
那些标致的sci论文图一般用什么软件建造的?-8.jpg
2.1.2  定制colormap
作为一位及格的科研工作者,绘制三维曲面图、伪彩图,怎样少得了自界说专属 colormap,显现高端优美的视图结果,挑选几种色彩,自动天生colormap,方式在这里
【2.1.2 定制colormap】科研绘图必备自界说colormap技能 2.2  二维绘图 2.2.1  曲线图、散点图
二维曲线、散点图算是最最多见的一种曲线了,间接反应两个变量的因果关系,散点图常用来比力理论数据和尝试数据的趋向关系;
设备线型(点线、虚线、实线、点虚线)、数据点标志(星号、圆、正方形等等)、线色彩、标志点色彩等等,使图形看起来加倍文雅美妙;
色彩设备格式:缩写字符(‘r’,牢固色彩,品种较少);
                         十六进制字符串('#FD6D5A',品种不限,每种色彩都需要逐一设备);
                          RGB向量([0.5, 0.5, 0.5],品种不限,可设备色彩模板,利用最方便);
  1. clear;clc;close all;
  2. %%%%% 曲线图
  3. x = 0:0.4:2*pi;
  4. y = sin(x);
  5. % 在一个 figure 中绘制多个子图,(2, 1, 1) 暗示 2 行 1 列第 1 个子图
  6. figure;
  7. subplot(2, 1, 1)   
  8. % 绘制一条曲线
  9. plot(x, y, '-d', 'Color', 'r', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'y',...
  10.      'MarkerSize', 10, 'LineWidth', 2);
  11. % d:暗示颠倒的菱形,-d暗示用实线毗连,r暗示曲线红色,
  12. % MarkerEdgeColor暗示标志点表面色彩
  13. %bMarkerFaceColor 暗示标志点内部色彩
  14. % MarkerSize 暗示标志巨细
  15. % 各类线型、标记、色彩代码参考帮助,以下
复制代码
那些标致的sci论文图一般用什么软件建造的?-9.jpg

那些标致的sci论文图一般用什么软件建造的?-10.jpg
  1. % 第二幅子图
  2. subplot(2, 1, 2)
  3. % 绘制多条曲线
  4. x = 1:4:100;
  5. y = log(x);
  6. for i = 1:6
  7.     plot(x, y + i, 'o-', 'LineWidth', 2);
  8.     hold on
  9. end
  10. hold off
  11. % 获得到色彩
  12. [all_themes, all_colors] = GetColors();
  13. % 点窜默许的色彩模板
  14. set(gca, 'colororder', all_themes{1});
复制代码
那些标致的sci论文图一般用什么软件建造的?-11.jpg
  1. %%%%% 散点图
  2. figure;
  3. x = linspace(1, 200, 100);
  4. y1 = log(x) + 1;
  5. y2 = y1 + rand(1, 100) - 0.5;
  6. plot(x, y1, 'LineWidth', 2, 'Color', all_colors(1, :));
  7. hold on
  8. % 设备数据点的外形、数据点的添补色彩、数据点的表面色彩
  9. plot(x, y2, 'o', 'LineWidth', 2, 'Color', all_colors(6, :), 'MarkerFaceColor', all_colors(6, :));
  10. hold off
复制代码
2.2.2  带有误差线的柱状图

那些标致的sci论文图一般用什么软件建造的?-12.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 天生示例数据
  5. m = 5;
  6. n = 3;
  7. x = 1:m;
  8. y = rand(m, n) + 2;
  9. % 误差限
  10. neg = rand(m, n);
  11. pos = rand(m, n);
  12. % 单系列带有误差线的柱状图
  13. figure;
  14. bar(x, y(:, 1));
  15. hold on
  16. errorbar(x, y(:, 1), neg(:, 1), pos(:, 1), 'LineStyle', 'none', 'Color', 'k', 'LineWidth', 2);
  17. hold off
  18. % 多系列带有误差线的柱状图
  19. figure;
  20. % 绘制柱状图
  21. h = bar(x, y);
  22. % 设备每个系列色彩
  23. for i = 1:length(h)
  24.     h(1, i).FaceColor = all_colors(i, :);
  25. end
  26. % 零丁设备第二个系列第二个柱子色彩
  27. % 这行代码少不了
  28. h(1, 2).FaceColor = 'flat';
  29. h(1, 2).CData(2,:) = all_colors(6, :);
  30. % 获得误差线 x 值
  31. % 也就是 XEndPoints 的值
  32. xx = zeros(m, n);
  33. for i = 1 : n
  34.     xx(:, i) = h(1, i).XEndPoints';
  35. end
  36. % 绘制误差线
  37. hold on
  38. errorbar(xx, y, neg, pos, 'LineStyle', 'none', 'Color', 'k', 'LineWidth', 2);
  39. hold off
  40. % 绘制图例
  41. legend({'A1', 'A2', 'A3'});
  42. % 设备 x 轴标签
  43. set(gca, 'XTickLabel', {'label1', 'label2', 'label3', 'label4', 'label5'});
  44. % 试试 barweb
  45. figure;
  46. barweb(y, neg, 1, {'label1', 'label2', 'label3', 'label4', 'label5'});
复制代码
完整版
【2.2.2 带有误差线的柱状图】Matlab科研论文作图2.2.3 简单曲线之间添补

那些标致的sci论文图一般用什么软件建造的?-13.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 天生数据
  5. x = linspace(0, 2*pi, 100);
  6. y = sin(2*x);
  7. figure
  8. subplot(1, 2, 1)
  9. fill(x, y, all_colors(1, :));
  10. hold on
  11. plot([0, 7], [0, 0], 'Color', all_colors(6, :));
  12. hold off
  13. subplot(1, 2, 2)
  14. patch(x, y, all_colors(1, :));
  15. hold on
  16. plot([0, 7], [0, 0], 'Color', all_colors(6, :));
  17. hold off
  18. % 换一下数据
  19. x = 0.4:0.1:2*pi;
  20. y = sin(2*x);
  21. figure
  22. subplot(1, 2, 1)
  23. fill(x, y, all_colors(1, :));
  24. hold on
  25. plot([0, 7], [0, 0], 'k');
  26. hold off
  27. subplot(1, 2, 2)
  28. patch(x, y, all_colors(1, :));
  29. hold on
  30. plot([0, 7], [0, 0], 'k');
  31. hold off
  32. 这个成果似乎没有到达预期,查询到 fill 和 patch 函数是做的多边形添补,是以需要做一些点窜。
  33. % 强迫首尾各增加一个点,保证 y 值为 0
  34. x = [x(1), x, x(end)];
  35. y = [0, y, 0];
  36. figure
  37. subplot(1, 2, 1)
  38. fill(x, y, all_colors(1, :));
  39. hold on
  40. plot([0, 7], [0, 0], 'k');
  41. hold off
  42. subplot(1, 2, 2)
  43. patch(x, y, all_colors(1, :));
  44. hold on
  45. plot([0, 7], [0, 0], 'k');
  46. hold off
  47. 函数之间围成的地区添补演示:
  48. x = 0.4:0.1:2*pi;
  49. y1 = sin(2*x);
  50. y2 = sin(x);
  51. % 肯定 y2 和 y4 的高低鸿沟
  52. maxY = max([y1; y2]);
  53. minY = min([y1; y2]);
  54. % 肯定添补多边形,依照顺时针偏历来肯定点
  55. % fliplr 实现左右翻转
  56. xFill = [x, fliplr(x)];
  57. yFill = [maxY, fliplr(minY)];
  58. figure
  59. subplot(1, 2, 1)
  60. fill(xFill, yFill, all_colors(1, :));
  61. hold on
  62. plot(x, y1, 'k', 'LineWidth', 2)
  63. plot(x, y2, 'k', 'LineWidth', 2)
  64. hold off
  65. subplot(1, 2, 2)
  66. patch(xFill, yFill, all_colors(1, :));
  67. hold on
  68. plot(x, y1, 'k', 'LineWidth', 2)
  69. plot(x, y2, 'k', 'LineWidth', 2)
  70. hold off
复制代码
完整版
【2.2.3 简单曲线之间添补】Matlab实现曲线之间添补2.2.4  复杂函数曲线之间添补

那些标致的sci论文图一般用什么软件建造的?-14.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 常规思绪
  5. figure;
  6. % 这是三个方程
  7. g1 = @(x,y) 1 - x.^2.*y/20;
  8. g2 = @(x, y) 1 - (x+y-5).^2/30 - (x-y-12).^2/120;
  9. g3 = @(x, y) 1 - 80./(x.^2 + 8*y + 5);
  10. % 把他们的图像画出来
  11. h1 = fimplicit(g1, [0, 10], 'LineWidth', 2, 'Color', all_colors(1, :));
  12. hold on
  13. h2 = fimplicit(g2, [0, 10], 'LineWidth', 2, 'Color', all_colors(1, :));
  14. h3 = fimplicit(g3, [0, 10], 'LineWidth', 2, 'Color', all_colors(1, :));
  15. legend('g1', 'g2', 'g3');
  16. % 题目来了,这个 y 值怎样肯定
  17. x1 = h1.XData;
  18. y1 = h1.YData;
  19. x2 = h2.XData;
  20. y2 = h2.YData;
  21. x3 = h3.XData;
  22. y3 = h3.YData;
  23. % 发现 x1, x2 是从大到小的,逆序搞一下
  24. x1 = fliplr(x1);
  25. x2 = fliplr(x2);
  26. y1 = fliplr(y1);
  27. y2 = fliplr(y2);
  28. % 接下来,肯定订交地区,首要看这三个关键点:g1-g2, g1-g3, g2-g3
  29. % 数据长度纷歧样,难搞了,借助【数据提醒】功用吧
  30. pt1 = [3.11069, 2.06667];
  31. pt2 = [8.53623, 0.266667];
  32. pt3 = [7.7847, 1.8];
  33. % 肯定三个范围
  34. idx1 = find(x1 >= pt1(1) & x1 < pt2(1));
  35. idx2 = find(x2 >= pt1(1) & x2 < pt3(1));
  36. idx3 = find(x3 >= pt3(1) & x3 < pt2(1));
  37. x1 = x1(idx1);
  38. x2 = x2(idx2);
  39. x3 = x3(idx3);
  40. y1 = y1(idx1);
  41. y2 = y2(idx2);
  42. y3 = y3(idx3);
  43. % 一定如果一个闭环
  44. xFill = [x1, fliplr(x3), fliplr(x2)];
  45. yFill = [y1, fliplr(y3), fliplr(y2)];
  46. fill(xFill, yFill, all_colors(6, :));
  47. hold off
  48. % 高级点的做法
  49. figure;
  50. g1 = @(x, y) -x .* sin(4 * x) - 1.1 * y .* sin(2 * y);
  51. g2 = @(x, y) x + y - 3;
  52. h = fimplicit(@(x, y) min(g1(x, y), g2(x, y)), [0 3.5 0 4], 'LineWidth', 2, ...
  53.     'Color', all_colors(1, :), 'MeshDensity', 1000);
  54. fill(rmmissing(h.XData), rmmissing(h.YData), all_colors(6, :), 'DisplayName', 'g1 > 0 & g2 > 0');
  55. hold on
  56. fimplicit({g1, g2}, [0 3.5 0 4], 'LineWidth', 2, 'Color', all_colors(1, :));
  57. hold off
  58. legend('NumColumns', 3)
复制代码
那些标致的sci论文图一般用什么软件建造的?-15.jpg
2.2.5  突变色曲线、突变色添补
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. x = linspace(0, 3*pi, 360);
  5. y = sin(2*x);
  6. %%%%% 突变色添补
  7. figure;
  8. fill(x, y, y, 'EdgeColor', 'interp');
  9. colormap(all_themes{1});
  10. %%%%% 突变色曲线
  11. figure;
  12. fill([x, NaN], [y, NaN], [x, NaN], 'EdgeColor', 'interp', 'LineWidth', 2);
  13. % 点窜色彩模板
  14. colormap(all_themes{1});
  15. %%%%% 突变色散点
  16. figure;
  17. scatter(x, y, x*5+20, x, 'filled');
  18. colormap(all_colors);
复制代码
那些标致的sci论文图一般用什么软件建造的?-16.jpg

那些标致的sci论文图一般用什么软件建造的?-17.jpg

那些标致的sci论文图一般用什么软件建造的?-18.jpg
完整版
【2.2.5 突变色曲线、突变色添补】Matlab科研论文作图 2.2.6  带箭头曲线

那些标致的sci论文图一般用什么软件建造的?-19.jpg
  1. clear; clc;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. x = 1:10;
  5. y = sin(x);
  6. plot(x, y, '.');
  7. hold on
  8. for i = 1:9
  9.     PlotLineArrow(gca, [x(i), x(i + 1)], [y(i), y(i + 1)], all_colors(6, :), ...
  10.         all_colors(1, :), 1);
  11. end
  12. hold off
复制代码
完整版
【2.2.6  带箭头曲线】Matlab科研论文作图 2.2.7  多个Y轴

那些标致的sci论文图一般用什么软件建造的?-20.jpg

那些标致的sci论文图一般用什么软件建造的?-21.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % yyaxis 官方帮助文档 demo
  5. figure;
  6. x = linspace(0, 10, 100);
  7. y1 = 2*sin(3*x);
  8. y2 = sin(3*x) .* exp(0.5*x);
  9. yyaxis left
  10. plot(x, y1, 'LineWidth', 2);
  11. yyaxis right
  12. plot(x, y2, 'LineWidth', 2);
  13. % 三个纵坐标演示,更多纵坐标可以依照此方式类推
  14. figure;
  15. y3 = 10*cos(3*x);
  16. % 控制 aies 的巨细和位置,留意是相对于figure的,范围为[0, 1]
  17. % 三条线绘制到一路,留意数据都标准化到 y1 范围
  18. maxY1 = max(y1);
  19. maxY2 = max(y2);
  20. maxY3 = max(y3);
  21. minY1 = min(y1);
  22. minY2 = min(y2);
  23. minY3 = min(y3);
  24. newY2 = (y2 - minY2)/(maxY2 - minY2);   % 归一化
  25. newY2 = newY2*(maxY1 - minY1) + minY1;  % 反归一化
  26. newY3 = (y3 - minY3)/(maxY3 - minY3);
  27. newY3 = newY3*(maxY1 - minY1) + minY1;
  28. % 画线
  29. h1 = axes('position', [0.1 0.1 0.5 0.8]);  
  30. plot(x, y1, 'Color', all_colors(1, :), 'LineWidth', 2);
  31. hold on
  32. plot(x, newY2, 'Color', all_colors(2, :), 'LineWidth', 2);
  33. plot(x, newY3, 'o--', 'Color', all_colors(3, :), 'LineWidth', 2);
  34. hold off
  35. ylabel('line1');
  36. h1.YColor = all_colors(1, :);
  37. % 绘制别的两个空的坐标轴
  38. h2 = axes('position', [0.65 0.1 0.005 0.8]);
  39. % 反复绘制,曲线色彩用红色,和figure布风景分歧,看不出来即可
  40. plot(x, y2, 'w')
  41. % 色彩,位置,曲线标签
  42. set(h2, 'ycolor', all_colors(2, :), 'yaxislocation', 'right', 'xtick', [])
  43. % 鸿沟显现不清楚,所以画一条线
  44. hold on
  45. limX2 = get(h2, 'Xlim');
  46. limY2 = get(h2, 'Ylim');
  47. plot([limX2(2), limX2(2)], limY2, 'Color', all_colors(2, :));
  48. hold off
  49. % 取消边框
  50. box off
  51. ylabel('line2');
  52. %
  53. h3 = axes('position', [0.75 0.1 0.005 0.8]);
  54. plot(x, y3, 'w')
  55. set(h3, 'ycolor', all_colors(3, :), 'yaxislocation', 'right', 'xtick', [])
  56. hold on
  57. limX3 = get(h3, 'Xlim');
  58. limY3 = get(h3, 'Ylim');
  59. plot([limX3(2), limX3(2)], limY3, 'Color', all_colors(3, :));
  60. hold off
  61. box off
  62. ylabel('line3');
  63. % 取消坐标轴的色彩,和figure同一
  64. % set(h1, 'color','none')
  65. % set(h2, 'color','none')
  66. % set(h3, 'color','none')
  67. % figure布景设备成红色
  68. set(gcf,'color','white');
复制代码
完整版
【2.2.7 多个Y轴】Matlab科研论文作图 2.2.8  扭转多边形

那些标致的sci论文图一般用什么软件建造的?-22.jpg

那些标致的sci论文图一般用什么软件建造的?-23.jpg

那些标致的sci论文图一般用什么软件建造的?-24.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. m = 3;
  5. n = 41;
  6. d_angle = 2.25;
  7. rotate = 45;
  8. shift = [0, 0];
  9. figure
  10. SpiralPolygon(m, n, d_angle, rotate, shift, all_colors, 1.5);
  11. colormap(all_themes{1});
  12. m = 4;
  13. figure
  14. SpiralPolygon(m, n, d_angle, rotate, shift, all_colors, 1.5);
  15. figure;
  16. V = SpiralPolygon(m, n, -d_angle, rotate, shift, all_colors, 1.5);
  17. hold on
  18. dx = max(V(1, :)) - min(V(1, :));
  19. dy = max(V(2, :)) - min(V(2, :));
  20. shift = [dx, 0];
  21. SpiralPolygon(m, n, d_angle, rotate, shift, all_colors, 1.5);
  22. shift = [dx, dy];
  23. SpiralPolygon(m, n, -d_angle, rotate, shift, all_colors, 1.5);
  24. shift = [0, dy];
  25. SpiralPolygon(m, n, d_angle, rotate, shift, all_colors, 1.5);
  26. hold off
复制代码
2.2.9  带箭头流线
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. [x, y] = meshgrid(0:0.1:1, 0:0.1:1);
  5. u = x;
  6. v = -y;
  7. startx = 0.1:0.1:0.9;
  8. starty = ones(size(startx));
  9. % 需要获得一切流线的属性
  10. figure;
  11. quiver(x, y, u, v);
  12. streamline(x, y, u, v, startx, starty);
  13. figure;
  14. lines = streamline(x, y, u, v, startx, starty);
  15. for i = 1:length(lines)
  16.     lines(i).Color = all_colors(i, :);
  17.     lines(i).LineWidth = 2;
  18. end
  19. % 下面起头画箭头,触及到坐标的转换
  20. % 获得 Axes 位置
  21. posAxes = get(gca, 'Position');
  22. posX = posAxes(1);
  23. posY = posAxes(2);
  24. width = posAxes(3);
  25. height = posAxes(4);
  26. % 获得 Axes 范围
  27. limX = get(gca, 'Xlim');
  28. limY = get(gca, 'Ylim');
  29. minX = limX(1);
  30. maxX = limX(2);
  31. minY = limY(1);
  32. maxY = limY(2);
  33. % 遍历,逐条流线加箭头
  34. for i = 1 : length(lines)
  35.     % 获得每条流线的数据
  36.     xData = lines(i).XData;
  37.     yData = lines(i).YData;
  38.     % 这里取的是最初两个点,一定如果相邻的两个点用来肯定箭头偏向
  39.     x0 = xData(end-1 : end);
  40.     y0 = yData(end-1 : end);
  41.     % 转换坐标到相对于figure的坐标
  42.     xNew = posX + (x0 - minX) / (maxX - minX) * width;
  43.     yNew = posY + (y0 - minY) / (maxY - minY) * height;
  44.     % 画箭头
  45.     hold on
  46.     annotation('arrow', xNew, yNew, 'color', all_colors(6, :));
  47. end
  48. hold off
  49. title('带箭头的流线图');
复制代码
那些标致的sci论文图一般用什么软件建造的?-25.jpg
完整版
【2.2.6 带箭头流线】Matlab科研论文作图 2.2.10  极坐标绘图技能

那些标致的sci论文图一般用什么软件建造的?-26.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. figure;
  5. theta = 0:0.01:2*pi;
  6. rho = sin(2*theta).*cos(2*theta);
  7. tiledlayout(1, 2);
  8. nexttile;
  9. polarplot(theta, rho, 'Color', all_colors(1, :), 'LineWidth', 2);
  10. nexttile;
  11. rMax = 2*max(rho);
  12. % 这个看不到线,由于只要一个反复的点
  13. polarplot([0, 2*pi], [rMax, rMax]);   
  14. hold on
  15. polarplot(theta, rho, 'Color', all_colors(2, :), 'LineWidth', 2);
  16. hold off
复制代码
2.2.11  条形散布图

那些标致的sci论文图一般用什么软件建造的?-27.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. n = 50;
  5. x = linspace(-10, 10, n);
  6. y = gauss(n, 5) ;
  7. figure;
  8. % 设备边沿色彩和宽度
  9. bar(x, y, 'EdgeColor', 'none', 'BarWidth', 1, 'FaceColor', all_colors(1, :));
  10. hold on
  11. plot(x, y, 'Color', all_colors(6, :), 'LineWidth', 2);
  12. hold off
复制代码
2.3  三维绘图 2.3.1  给球面贴布景图

那些标致的sci论文图一般用什么软件建造的?-28.jpg
  1. clear;clc;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 读取舆图文件
  5. image = imread('data\WorldMap.jpg');
  6. % 天生一个球面数据
  7. [x, y, z] = sphere(200);
  8. % 绘制球体
  9. p = surf(x, y, z);
  10. % 去网格线
  11. shading interp;
  12. p.CData = image;
  13. % 纹理贴图
  14. p.FaceColor = "texturemap";
  15. axis equal;
  16. axis off
  17. % 光源,看起来更有立体感
  18. % light
  19. % lighting gouraud
  20. % 光源色彩
  21. handle = light('Color', 'w');
  22. t = 0;
  23. while t < 100
  24.     t = t + 1;
  25.     view([t 10]);
  26.     lightangle(handle, t, 0);
  27.     pause(0.01);
  28. end
复制代码
2.3.2  三维矢量场图

那些标致的sci论文图一般用什么软件建造的?-29.jpg
  1. clear;clc;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 发生数据
  5. [X, Y, Z] = peaks(30);  
  6. % 矢量场,曲面法线
  7. [U, V, W] = surfnorm(X, Y, Z);  
  8. % 箭头长度、色彩
  9. quiver3(X, Y, Z, U, V, W, 0.5, 'k');     
  10. hold on
  11. surf(X,Y,Z);   
  12. xlim([-3, 3]);
  13. ylim([-3, 3]);
  14. colormap(all_colors(1:30, :));
  15. %  网格线不显现
  16. shading interp
  17. hold off
  18. view(0, 90);
复制代码
2.3.3  零丁设备子图的colormap

那些标致的sci论文图一般用什么软件建造的?-30.jpg

那些标致的sci论文图一般用什么软件建造的?-31.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. [x, y, z] = peaks(30);
  5. figure;
  6. plot1 = subplot(1,2,1);
  7. surf(x, y, z);
  8. % 获得第一幅图的 colormap,默以为 parula
  9. cMap = colormap;
  10. plot2 = subplot(1,2,2);
  11. surf(x, y, z);
  12. % 下面设备的是第二幅图的色彩,默许是全部 figure 的
  13. colormap(hot);
  14. % 设备第一幅图色彩显现为 parula
  15. set(plot1, 'Colormap', cMap);
  16. % 用 freezeColors 方式
  17. figure;
  18. subplot(1,2,1);
  19. surf(x, y, -z);
  20. freezeColors;
  21. subplot(1,2,2);
  22. surf(x, y, -z);
  23. colormap(hot);
  24. % 一个坐标轴
  25. figure;
  26. h1 = surf(x, y, z);
  27. freezeColors;
  28. hold on
  29. h2 = surf(x, y, z + 5);
  30. hold off
  31. colormap(hot);
  32. % 读取当地的 figure 文件停止二次编辑
  33. fig = openfig('data\MultiColormap.fig');
  34. cmap = fig.Colormap;
  35. % 多个子图
  36. cmap1 = fig.Children(1).Colormap;
  37. cmap2 = fig.Children(2).Colormap;
  38. % 数据 figure --> axes --> plot
  39. % ax = get(gcf, 'Children');
  40. % plt = get(gca, 'Children');
  41. x = fig.Children(2).Children(1).XData;
  42. y = fig.Children(2).Children(1).YData;
  43. z = fig.Children(2).Children(1).ZData;
  44. figure;
  45. surf(x, y, z);
  46. colormap(cmap1);
  47. freezeColors;
  48. hold on
  49. surf(x, y, z + 5);
  50. hold off
  51. colormap(all_themes{4});
复制代码
完整版
【2.3.3 零丁设备子图的colormap】Matlab科研论文作图 2.3.4  曲面裁剪
  1. clear;clc;close all;
复制代码
那些标致的sci论文图一般用什么软件建造的?-32.jpg
% 获得到色彩 [all_themes, all_colors] = GetColors();             % 天生多峰图 figure; n = 300; [x, y, z] = peaks(n); % 绘制原图 subplot(2, 2, [1,3]) surf(x, y, z); xlim([-3, 3]); ylim([-3, 3]); shading interp view(0, 90) % 裁剪 z(z > 1) = NaN; subplot(2, 2, 2) surf(x, y, z); xlim([-3, 3]); shading interp view(0, 90) subplot(2, 2, 4) surf(x, y, z); colormap(all_themes{1}); shading interp view(0, 45)
完整版
【2.3.4 曲面裁剪】Matlab科研论文作图 2.3.5  三维曲线、散点图
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();  
  4. %%%%% 三维曲线图
  5. figure;
  6. t = 0:pi/20:10*pi;
  7. xt = sin(t);
  8. yt = cos(t);
  9. plot3(xt, yt, t, '-o', 'Color', all_colors(6, :), 'MarkerSize', 10, ...
  10.     'MarkerFaceColor', all_colors(1, :), 'LineWidth', 2);
  11. figure;
  12. x = -20:10:20;
  13. y = linspace(0, 10, 100);
  14. % 天生 5 组数据
  15. z = zeros(5, 100);
  16. z(1, :) = gaussmf(y, [0.5 3]);
  17. z(2, :) = gaussmf(y, [0.6 4]);
  18. z(3, :) = gaussmf(y, [0.7 5]);
  19. z(4, :) = gaussmf(y, [0.8 6]);
  20. z(5, :) = gaussmf(y, [0.9 7]);
  21. for i = 1:5
  22.     % x 偏向每条曲线都是一个值
  23.     xx = x(i)*ones(1, 100);
  24.     % z 偏向的值,每次取一条
  25.     zz = z(i, :);
  26.     % plot3 在 xyz 空间绘制曲线,保证 x y z 长度分歧即可
  27.     plot3(xx, y, zz, 'LineWidth', 2);
  28.     hold on
  29. end
  30. hold off
  31. % 定制色彩
  32. set(gca, 'colororder', all_themes{1});
  33. legend('line1', 'line2', 'line3', 'line4', 'line5');
  34. % 假如把突变曲线和三维曲线连系起来
  35. figure;
  36. x = linspace(0, 10, 100);
  37. y = zeros(5, 100);
  38. y(1, :) = gaussmf(x, [0.5 3]);
  39. y(2, :) = gaussmf(x, [0.6 4]);
  40. y(3, :) = gaussmf(x, [0.7 5]);
  41. y(4, :) = gaussmf(x, [0.8 6]);
  42. y(5, :) = gaussmf(x, [0.9 7]);
  43. for i = 1:5
  44.     fill3([i*ones(size(x)), NaN], [x, NaN], [y(i, :), NaN], [x NaN], 'EdgeColor', 'interp', 'LineWidth', 2)
  45.     hold on
  46. end
  47. hold off
  48. %%%%% 三维散点图
  49. figure;
  50. [X,Y,Z] = sphere(16);
  51. x = [0.5*X(:); 0.75*X(:); X(:)];
  52. y = [0.5*Y(:); 0.75*Y(:); Y(:)];
  53. z = [0.5*Z(:); 0.75*Z(:); Z(:)];
  54. S = repmat([70, 50, 20],numel(X), 1);
  55. C = repmat([1, 2, 3], numel(X), 1);
  56. s = S(:);
  57. c = C(:);
  58. h = scatter3(x, y, z, s, c);
  59. h.MarkerFaceColor = all_colors(6, :);
  60. figure;
  61. x = linspace(1, 200, 100);
  62. y1 = log(x) + 1;
  63. y2 = log(x) + 2;
  64. y3 = y1 + rand(1, 100) - 0.5;
  65. figure;
  66. scatter3(x, y2, y3, x + 10, x, 'filled');
  67. % 定制色彩
  68. colormap(all_colors);
复制代码
那些标致的sci论文图一般用什么软件建造的?-33.jpg

那些标致的sci论文图一般用什么软件建造的?-34.jpg

那些标致的sci论文图一般用什么软件建造的?-35.jpg

那些标致的sci论文图一般用什么软件建造的?-36.jpg

那些标致的sci论文图一般用什么软件建造的?-37.jpg
2.3.6  等高线图
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. figure;
  5. [X, Y, Z] = peaks;
  6. subplot(2, 2, 1);
  7. contour(X, Y, Z, 20, 'LineWidth', 2);
  8. subplot(2, 2, 2);
  9. contour(X, Y, Z, '--', 'LineWidth', 2)
  10. subplot(2, 2, 3);
  11. v = [1, 1];
  12. contour(X, Y, Z, v, 'LineWidth', 2);
  13. x = -2:0.2:2;
  14. y = -2:0.2:3;
  15. [X, Y] = meshgrid(x, y);
  16. Z = X.*exp(-X.^2-Y.^2);
  17. subplot(2, 2, 4);
  18. contour(X, Y, Z, 'ShowText','on', 'LineWidth', 2);
  19. % 定制色彩
  20. colormap(all_themes{1});
  21. figure('Position', [0, 0, 900, 400]);
  22. subplot(1, 3, 1);
  23. [X, Y, Z] = sphere(50);
  24. contour3(X, Y, Z, 'LineWidth', 2);
  25. [X, Y] = meshgrid(-2:0.25:2);
  26. Z = X.*exp(-X.^2-Y.^2);
  27. subplot(1, 3, 2);
  28. contour3(X, Y, Z, [-0.2 -0.1 0.1 0.2], 'ShowText', 'on', 'LineWidth', 2)
  29. [X, Y, Z] = peaks;
  30. subplot(1, 3, 3);
  31. contour3(X, Y, Z, [2 2], 'LineWidth', 2);
  32. % 定制色彩
  33. colormap(all_colors(1:9, :));
  34. %%%%% 等高线添补图
  35. figure;
  36. tiledlayout(2, 2, 'TileSpacing', 'compact');
  37. nexttile
  38. [X, Y, Z] = peaks(50);
  39. contourf(X, Y, Z);
  40. nexttile
  41. contourf(X, Y, Z,'--');
  42. % 限制范围
  43. nexttile
  44. contourf(X, Y, Z, [2 3], 'ShowText', 'on');
  45. nexttile
  46. contourf(X, Y, Z,[2 2]);
  47. % 定制色彩
  48. colormap(all_colors(1:18, :));
复制代码
那些标致的sci论文图一般用什么软件建造的?-38.jpg

那些标致的sci论文图一般用什么软件建造的?-39.jpg

那些标致的sci论文图一般用什么软件建造的?-40.jpg
2.3.7  绘制伪彩图和投影图
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 建立一个 colormap
  5. map = GenColormap(all_themes{1}, 64);
  6. x = linspace(-3, 3, 30);
  7. y = linspace(-4, 4, 40);
  8. [X, Y] = meshgrid(x, y);
  9. Z = peaks(X, Y);
  10. z1 = max(Z);
  11. z2 = max(Z, [], 2);
  12. figure;
  13. subplot(3, 3, [1, 2]);
  14. plot(x, z1, 'LineWidth', 2);
  15. subplot(3, 3, [6, 9]);
  16. plot(z2, y, 'LineWidth', 2);
  17. subplot(3, 3, [4, 5, 7, 8]);
  18. surf(x, y, Z);
  19. colormap(map);
  20. xlim([-3, 3]);
  21. ylim([-4, 4]);
  22. view(0, 90);
  23. shading interp
  24. figure;
  25. % 3*3 结构
  26. tiledlayout(3, 3, 'TileSpacing', 'Compact');
  27. % 占据 1*2,也就是 1 2
  28. nexttile([1, 2]);
  29. plot(x, z1, 'LineWidth', 2);
  30. % 从第 6 个起头,占据 2*1,也就是 6 和 9
  31. nexttile(6, [2, 1]);
  32. plot(z2, y, 'LineWidth', 2);
  33. % 从第 4 个起头,占据 2*2,也就是 4 5 7 8
  34. nexttile(4, [2, 2]);
  35. surf(x, y, Z);
  36. colormap(map);
  37. xlim([-3, 3]);
  38. ylim([-4, 4]);
  39. view(0, 90);
  40. shading interp
复制代码
那些标致的sci论文图一般用什么软件建造的?-41.jpg
完整版
【2.3.7 绘制伪彩图和投影图】Matlab科研论文作图 2.4  四维绘图 2.4.1  slice切片显现
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 建立 colormap
  5. map = GenColormap(all_themes{1});
  6. [X, Y, Z] = meshgrid(-2:0.2:2);
  7. V = X .* exp(-X.^2 - Y.^2 - Z.^2);
  8. % 切片位置
  9. xslice = [-1.2, 0.8, 2];   
  10. yslice = [];
  11. zslice = 0;
  12. s = slice(X, Y, Z, V, xslice, yslice, zslice);
  13. % 裁剪
  14. for i = 1:length(s)
  15.     s(i).XData(10:end, 10:end) = nan;
  16.     s(i).YData(10:end, 10:end) = nan;
  17.     s(i).ZData(10:end, 10:end) = nan;
  18. end
  19. % 加 colorbar 方便看值
  20. colorbar
  21. colormap(map)
  22. shading interp
复制代码
那些标致的sci论文图一般用什么软件建造的?-42.jpg
2.5  函数方程可视化 2.5.1  一元方程 2.5.2  二元方程 2.5.3  三元方程

那些标致的sci论文图一般用什么软件建造的?-43.jpg

那些标致的sci论文图一般用什么软件建造的?-44.jpg

那些标致的sci论文图一般用什么软件建造的?-45.jpg
完整版
【2.5 函数方程可视化】Matlab科研论文作图 2.6  特别绘图 2.6.1  静态趋向线可视化
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();  
  4. % 数据,可以补充最好
  5. y = [34,34,34,53,57,60,60,64,69,89,106,125,161,233,345,445,572,717,1010,1322,1264,1678,3489,...
  6.      4629,5894,9345,14250,19624,22043,32717,46332,53268,65285,83507,101657,121117,139675,...
  7.      161367,184183,206207,236339,270473,312076,334125,363349,394182,425828,463433,498674,...
  8.      530384,559245,586941,610632,641397,674829,710021,738697,762496,789383,825306,844992,...
  9.      877497,916348,955488,985060,1004942,1029878,1056646,1092656,1125305,1156744,1185167];
  10. len = length(y);
  11. x = 1:len;
  12. % 第一个点为标志点
  13. plot(x(1), y(1), 'o', 'Color', all_colors(1, :), 'MarkerSize', 10, 'MarkerFaceColor', all_colors(1, :));
  14. hold on
  15. % 循环绘图
  16. for i = 2:len
  17.     % 画两个点
  18.     plot(x(i-1:i), y(i-1:i), 'Color', all_colors(1, :), 'LineWidth', 3);
  19.     % 设备一下范围
  20.     xlim([1, 1.5*x(i)]);
  21.     ylim([0, 1.5*y(i)]);
  22.     % 删掉之前的文本和标志
  23.     delete(findobj('Type','text'));
  24.     delete(findobj('Marker','o'));
  25.     % 画标志点
  26.     plot(x(i), y(i), 'o', 'Color', all_colors(6, :), 'MarkerSize', 10, 'MarkerFaceColor', all_colors(6, :));
  27.     % 增加标注
  28.     text(x(i),y(i),['     美国:', num2str(y(i))], 'Color', all_colors(1, :));  
  29.     title('美国新冠数据');
  30.     % 停息 0.1s
  31.     pause(0.1)
  32. end
  33. hold off
复制代码
那些标致的sci论文图一般用什么软件建造的?-46.jpg
完整版
【2.6.1 静态趋向线可视化】Matlab绘制静态趋向线 2.6.2  Newton-Raphson、Julia分形
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 建立 colormap
  5. map = GenColormap(all_themes{2}, 64);
  6. n = 1000;
  7. m = 1000;
  8. f = @(z) z^8 - 1;
  9. df = @(z) 8*z^7;
  10. [X, Y] = meshgrid(linspace(-2, 2, n), linspace(-2, 2, m));
  11. A = nan(n, m);
  12. for i = 1:n
  13.     for j = 1:m
  14.         z0 = X(i, j) + 1i*Y(i, j);
  15.         % Newton-Raphson
  16.         z = z0;
  17.         ite = 0;
  18.         fz = f(z);
  19.         while abs(fz) > 1e-6 && ite < 20
  20.             z = z - f(z)/df(z);
  21.             fz = f(z);
  22.             ite = ite + 1;
  23.         end
  24.         A(i, j) = ite;
  25.     end
  26. end
  27. figure;
  28. pcolor(X, Y, A);
  29. colormap(map);
  30. % hold on
  31. % plot([1, -1, 0, 0], [0, 0, 1, -1], '.k', 'MarkerSize', 20);
  32. % hold off
  33. shading flat
  34. axis tight manual off
  35. % xlim([-0.5, 0]);
  36. % ylim([0.5, 1]);
  37. % 保存成视频
  38. % set(gca, 'nextplot', 'replacechildren');
  39. % v = VideoWriter('NRfractal.avi');
  40. % open(v);
  41. % for k = 1:20
  42. %     pcolor(X, Y, A);
  43. %     shading flat
  44. %     xlim([-2*(1-k/25), 2*(1-k/25)]);
  45. %     ylim([-2*(1-k/25), 2*(1-k/25)]);
  46. %     frame = getframe(gcf);
  47. %     writeVideo(v, frame);
  48. % end
  49. % (-0.19, 0.6557)
  50. % (-0.1, 0.651)
  51. % zx = zx*zx - zy*zy + cx
  52. % zy = 2*zx*zy+cy
  53. c = - 0.1 + 1i*0.651;
  54. radius = 32;
  55. [X, Y] = meshgrid(linspace(-1.5, 1.5, n), linspace(-1.5, 1.5, m));
  56. A = nan(n, m);
  57. for i = 1:n
  58.     for j = 1:m
  59.         z = X(i, j) + 1i*Y(i, j);
  60.         % Julia
  61.         for ite = 1:1000
  62.             z = (z*z + c) ;
  63.             if abs(z) > radius
  64.                 break;
  65.             end
  66.         end
  67.         A(i, j) = ite;
  68.     end
  69. end
  70. figure;
  71. pcolor(X, Y, A);
  72. colormap(map);
  73. shading flat
  74. axis tight manual off
复制代码
那些标致的sci论文图一般用什么软件建造的?-47.jpg

那些标致的sci论文图一般用什么软件建造的?-48.jpg
完整版
【2.6.2 Newton-Raphson、Julia分形】数学之美:Matlab绘制分形图 2.6.3  分形树叶
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 初始点的位置
  5. x = [0.5; 0.5];        
  6. % 绘制初始点
  7. plot(x(1), x(2), '.', 'Color', all_colors(3, :), 'MarkerSize', 10);
  8. % 设备判定向量
  9. h = [0.75, 0.90, 0.98, 1.00];
  10. b1 = [0; 1.5];
  11. b2 = [0; 1.5];
  12. b3 = [0; 0.4];
  13. % 机关仿射变更矩阵
  14. A1 = [0.75, 0.04; -0.04, 0.75];
  15. A2 = [0.20, -0.3; 0.25, 0.23];
  16. A3 = [-0.15, 0.32; 0.26, 0.24];
  17. A4 = [0, 0; 0, 0.15];
  18. %循环绘制
  19. hold on
  20. for i = 1 : 1000
  21.     r = rand;
  22.     if r < h(1)
  23.         x = A1 * x + b1;
  24.     elseif r < h(2)
  25.         x = A2 * x + b2;
  26.     elseif r < h(3)
  27.         x = A3 * x + b3;
  28.     else
  29.         x = A4 * x;
  30.     end
  31.     plot(x(1), x(2), '.', 'Color', all_colors(3, :), 'MarkerSize', 10);
  32.     pause(0.001);
  33.     % drawnow 太慢了
  34. end
  35. hold off
复制代码
那些标致的sci论文图一般用什么软件建造的?-49.jpg
2.6.4  在指定地区内随机天生不订交不相切的圆
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 限制范围
  5. width = 10;  
  6. height = 10;
  7. % 最多发生的圆的个数
  8. circleNumber = 100;   
  9. % 记录每个圆的横坐标、纵坐标、半径
  10. paras = zeros(circleNumber, 3);  
  11. num = 0;
  12. hold on
  13. while num < circleNumber
  14.     num = num + 1;   
  15.     % 圆半径小于1大概设定为牢固值
  16.     r = rand;
  17.     % 在范围内随机坐标
  18.     xPos = rand*(width-2*r) + r;  
  19.     yPos = rand*(height-2*r) + r;
  20.     % 记录坐标、半径
  21.     paras(num,:) = [xPos, yPos, r];
  22.     % 判定每个圆的位置能否不相切、不订交
  23.     if num > 1
  24.         % 新发生的圆和之前发生的一切圆计较间隔        
  25.         xs = paras(1:num - 1, 1);
  26.         ys = paras(1:num - 1, 2);
  27.         rs = paras(1:num - 1, 3);
  28.         dist1 = sqrt((xPos - xs).^2 + (yPos - ys).^2);
  29.         dist2 = abs(r + rs);
  30.         % 假如相离则绘制当前发生的圆,否则就重新天生一个圆
  31.         if all(dist1 > dist2)
  32.             rectangle('Position', [xPos-r, yPos-r, 2*r, 2*r], 'Curvature', [1 1], 'EdgeColor', all_colors(1, :), 'LineWidth', 2);
  33.             axis equal
  34.         else
  35.             r = rand;
  36.             xPos = rand*(width-2*r) + r;  
  37.             yPos = rand*(height-2*r) + r;
  38.             paras(num,:) = [xPos,yPos,r];
  39.             % 避免死循环
  40.             temp = 0;
  41.             maxTry = 100;
  42.             while any(dist1 <= dist2) && temp < maxTry
  43.                 temp = temp + 1;
  44.                 dist1 = sqrt((xPos - xs).^2 + (yPos - ys).^2);
  45.                 dist2 = abs(r + rs);
  46.             end
  47.             if all(dist1 > dist2)
  48.                 rectangle('Position', [xPos-r, yPos-r, 2*r, 2*r], 'Curvature', [1 1], 'EdgeColor', all_colors(1, :), 'LineWidth', 2);
  49.                 axis equal
  50.             end
  51.         end      
  52.     end
  53. end
  54. axis([0 width 0 height])
  55. box on
  56. hold off
复制代码
那些标致的sci论文图一般用什么软件建造的?-50.jpg
完整版
【2.6.4 在指定地区内随机天生不订交不相切的圆 】Matlab科研论文作图 2.6.5  建立gif动图
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. x = 0:0.01:1;
  5. n = 1:9;
  6. len = length(n);
  7. im = cell(1, len);
  8. % 零丁显现每个图
  9. figure;
  10. for idx = 1:len
  11.     subplot(3, 3, idx)
  12.     plot(x, x.^idx, 'LineWidth', 3, 'Color', all_colors(idx, :));
  13.     title(['y = x^', num2str(idx)]);
  14. end
  15. % 获得绘制工具
  16. fig = figure;
  17. for idx = 1:len
  18.     y = x.^idx;
  19.     plot(x, y, 'LineWidth', 3, 'Color', all_colors(idx, :));
  20.     title(['y = x^', num2str(n(idx))])
  21. %     drawnow
  22. %     pause(0.1);
  23.     frame = getframe(fig);
  24.     im{idx} = frame2im(frame);
  25. end
  26. % 输出文件名
  27. filename = 'data\testAnimated.gif';
  28. for idx = 1:len
  29.     % 建造gif文件,图像必须是index索引图像
  30.     [A, map] = rgb2ind(im{idx}, 256);
  31.     if idx == 1
  32.         imwrite(A, map, filename, 'gif', 'LoopCount', Inf, 'DelayTime', 0.3);
  33.     else
  34.         imwrite(A, map, filename, 'gif', 'WriteMode', 'append', 'DelayTime', 0.3);
  35.     end
  36. end
  37. clear;clc;
  38. % 保存文件名
  39. filename = 'Model.gif';  
  40. % 4张图
  41. for i = 1:4
  42.     % 图片途径
  43.     fileName = [num2str(i), '.jpg'];      
  44.     img = imread(fileName);
  45.     % 重界说尺寸
  46.     img = imresize(img, [256, 256]);      
  47.     imshow(img);
  48.     % 不显现窗口
  49.     set(gcf, 'visible', 'off');   
  50.     % 获得位置
  51.     q = get(gca, 'position');  
  52.     % 设备左侧间隔值为零
  53.     q(1) = 0;  
  54.     % 设备右侧间隔值为零
  55.     q(2) = 0;     
  56.     % 重新设备位置
  57.     set(gca, 'position', q);
  58.     frame = getframe(gcf, [0, 0, 200, 200]);  
  59.     im = frame2im(frame);      
  60.     imshow(im);
  61.     [I, map] = rgb2ind(im, 256);
  62.     if i == 1
  63.         imwrite(I, map, filename, 'gif', 'Loopcount', inf, 'DelayTime', 0.3);
  64.     else
  65.         imwrite(I, map, filename, 'gif', 'WriteMode', 'append', 'DelayTime', 0.3);
  66.     end
  67. end
复制代码
那些标致的sci论文图一般用什么软件建造的?-51.jpg

那些标致的sci论文图一般用什么软件建造的?-52.jpg
2.6.6  梯度下降法的下降偏向

那些标致的sci论文图一般用什么软件建造的?-53.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 建立一个 colormap
  5. map = GenColormap(all_themes{1});
  6. %% 一元函数梯度下降法
  7. % 示例:f(x) = min{(x - 1)^2}
  8. % 梯度:g(x) =  2 * (x - 1)
  9. % 进修率,一般设备小一点,否则轻易在最小值四周震动大概不收敛
  10. yita = 0.25;   
  11. x1 = -5 : 0.1 : 5;
  12. y1 = (x1 - 1).^2;
  13. iteMax = 1000;
  14. xInit = 4;
  15. yInit = (xInit - 1)^2;
  16. err = 1e-6;
  17. figure('Position', [50, 50, 900, 400]);
  18. tiledlayout(1, 2, 'TileSpacing', 'compact');
  19. nexttile
  20. plot(x1, y1, 'b', 'LineWidth', 2)
  21. xlim([-5, 5])
  22. ylim([-1, 25])
  23. hold on
  24. plot(xInit, yInit, 'ok', 'MarkerFaceColor', 'k')
  25. for i = 1 : iteMax
  26.     % x = x + yita * grad;
  27.     xNew = xInit - yita * 2 * (xInit - 1);
  28.     yNew = (xNew - 1)^2;
  29.     % 退出条件
  30.     if abs(xNew - xInit) < err
  31.         break;
  32.     else
  33.         PlotLineArrow(gca, [xInit, xNew], [yInit, yNew], 'k', 'k', 2)
  34.         xInit = xNew;
  35.         yInit = yNew;
  36.         disp(['第', num2str(i), '次迭代成果:', num2str(xInit)]);
  37.         plot(xNew, yNew, 'ok', 'MarkerFaceColor', 'k')        
  38.     end
  39. end
  40. hold off
  41. title('梯度下降');
  42. %% 多元函数梯度下降法
  43. % 示例:f(x) = min{x1^2 + x2^2}
  44. % 梯度:g(x) = [2 * x1; 2 * x2]
  45. [x, y] = meshgrid(-5:0.5:5, -5:0.5:5);
  46. z = x.^2 + y.^2;
  47. initX = 4;
  48. initY = 3;
  49. initZ = initX^2 + initY^2;
  50. initValue = [initX; initY];
  51. nexttile
  52. contourf(x, y, z, 20);
  53. colormap(map);
  54. shading interp
  55. hold on
  56. grad = zeros(1, 2);
  57. e = 0.1;
  58. yita = 5;   % Adagrad 更快收敛
  59. for i = 1 : iteMax
  60.     % 标准的梯度法  x = x + yita * grad;
  61. %     newValue = initValue - yita * [2 * initX; 2 * initY];
  62.     % Adagrad 法    x = x + yita * inv(G) * grad;
  63.     grad = grad + [(2 * initX)^2, (2 * initY)^2];
  64.     newValue = initValue - yita * diag(1 ./ sqrt(grad + e)) * [2 * initX; 2 * initY];
  65.     % 退出条件
  66.     if norm(newValue - initValue) < err
  67.         break;
  68.     else
  69.         newX = newValue(1);
  70.         newY = newValue(2);
  71.         newZ = newX^2 + newY^2;
  72. %         plot([initX, newX], [initY, newY], '-ok', 'MarkerFaceColor', 'r')
  73.         PlotLineArrow(gca, [initX, newX], [initY, newY], 'k', 'k', 2)
  74.         initValue = newValue;
  75.         initX = newX;
  76.         initY = newY;
  77.         initZ = newZ;
  78.         disp(['第', num2str(i), '次迭代成果:', num2str(newValue')]);   
  79.     end
  80. end
  81. hold off
  82. title('梯度下降');
复制代码
2.6.7  方针沿指定轨迹活动

那些标致的sci论文图一般用什么软件建造的?-54.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 天生轨迹
  5. x = linspace(0, 2*pi, 20);
  6. y = sin(x);
  7. minX = min(x);
  8. maxX = max(x);
  9. minY = min(y);
  10. maxY = max(y);
  11. % 在特定位置绘制轨迹图
  12. h1 = axes('position', [0.1, 0.1, 0.8, 0.8]);
  13. plot(x, y, 'Color', all_colors(1, :), 'LineWidth', 2);
  14. % 设备显现范围
  15. xlim([minX, maxX]);
  16. ylim([minY, maxY]);
  17. % 图片尺寸
  18. sizeQQ = 0.05;
  19. posX = 0.1;
  20. poxY = 0.85;
  21. % 图像的位置
  22. h2 = axes('position', [posX poxY sizeQQ sizeQQ]);
  23. % 显现图片
  24. imshow('data\qq.bmp');
  25. for i = 1 : length(x)
  26.     % 计较图片的位置
  27.     posX = (x(i) - minX) / (maxX - minX) * 0.8 + 0.1;
  28.     posY = (y(i) - minY) / (maxY - minY) * 0.8 + 0.1;
  29.     % 删除之前的图片
  30.     delete(h2);
  31.     % 在新的位置显现
  32.     h2 = axes('position', [posX posY sizeQQ sizeQQ]);
  33.     imshow('data\qq.bmp');
  34.     % 停息以显现静态进程
  35.     pause(0.1);
  36. end
复制代码
2.6.8  看起来像拼接两个Axis

那些标致的sci论文图一般用什么软件建造的?-55.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. x1 = 0:0.1:2;
  5. y1 = x1;
  6. x2 = 2:0.1:4;
  7. y2 = x2 + 1;
  8. ax = axes();
  9. plot(x1, y1, 'Color', all_colors(19, :), 'LineWidth', 2);
  10. hold on
  11. plot(x2, y2, 'Color', all_colors(24, :), 'LineWidth', 2);
  12. fill([0, 2, 2], [0, 0, 0.5], all_colors(1, :));
  13. fill([2, 4, 2], [0.5, 0, 0.5], all_colors(1, :));
  14. fill([0, 2, 2], [0.5, 0.1, 0.5], all_colors(3, :));
  15. fill([2, 4, 2], [0.1, 0.5, 0.5], all_colors(3, :));
  16. fill([1.9, 2.1, 2, 2.1, 1.9, 1.8], [0, 0, 2.5, 5, 5, 2.5], 'w');
  17. hold off
  18. % 设备一些属性
  19. grid on
  20. ax.XTickLabel = {'0', '0.5', '1', '1.5', '', '3.5', '4', '4.5', '5'};
  21. ax.GridLineStyle = '--';
复制代码
2.6.9  设备特别的图例

那些标致的sci论文图一般用什么软件建造的?-56.jpg

那些标致的sci论文图一般用什么软件建造的?-57.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 天生曲线数据
  5. x = 0:0.2:12;
  6. y1 = besselj(1, x);
  7. y2 = besselj(2, x);
  8. y3 = besselj(3, x);
  9. % 先看一般绘图时的 legend,显现出来的线型、标志、色彩和曲线是对应的
  10. figure
  11. plot(x, y1, '-o', 'Color', all_colors(1, :), 'LineWidth', 2);
  12. hold on
  13. plot(x, y2, '-*', 'Color', all_colors(2, :), 'LineWidth', 2);
  14. plot(x, y3, '-s', 'Color', all_colors(3, :), 'LineWidth', 2);
  15. hold off
  16. legend('legend1', 'legend2', 'legend3');
  17. % 假如要让图例色彩都是黑色怎样实现
  18. % 一个很笨但有用的方式,重新绘制一遍将原图覆盖
  19. figure
  20. plot(x, y1, '-ok', 'LineWidth', 2);
  21. hold on
  22. plot(x, y2, '-*k', 'LineWidth', 2);
  23. plot(x, y3, '-sk', 'LineWidth', 2);
  24. plot(x, y1, '-o', 'Color', all_colors(1, :), 'LineWidth', 2);
  25. plot(x, y2, '-*', 'Color', all_colors(2, :), 'LineWidth', 2);
  26. plot(x, y3, '-s', 'Color', all_colors(3, :), 'LineWidth', 2);
  27. hold off
  28. % 只显现前面三条曲线的legend
  29. legend('legend1', 'legend2', 'legend3');
  30. % 假如想显现指定曲线的legend
  31. figure
  32. h1 = plot(x, y1, '-ok', 'LineWidth', 2);
  33. hold on
  34. h2 = plot(x, y2, '-*k', 'LineWidth', 2);
  35. h3 = plot(x, y3, '-sk', 'LineWidth', 2);
  36. h4 = plot(x, 2*y1, '-o', 'Color', all_colors(1, :), 'LineWidth', 2);
  37. h5 = plot(x, 2*y2, '-*', 'Color', all_colors(2, :), 'LineWidth', 2);
  38. h6 = plot(x, 2*y3, '-s', 'Color', all_colors(3, :), 'LineWidth', 2);
  39. hold off
  40. legend([h1, h3, h5], 'legend1', 'legend3', 'legend5');
复制代码
完整版
【2.6.9 设备特别的图例 】Matlab科研论文作图 2.6.10  甲烷模子

那些标致的sci论文图一般用什么软件建造的?-58.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 球面的坐标信息,为了看起来平滑一点,给到 100
  5. [x, y, z] = sphere(100);
  6. % C 巨细
  7. C = 10;
  8. % H 巨细
  9. H = 5;
  10. figure;
  11. % 大球
  12. surf(C*x, C*y, C*z, 'FaceColor', all_colors(6, :), 'EdgeColor', 'none')
  13. hold on
  14. % 四个小球,都偏离一点位置,正确的位置需要计较,这里演示一个大要位置
  15. surf(H*x, H*y, H*z + 10, 'FaceColor', all_colors(1, :), 'EdgeColor', 'none');
  16. surf(H*x + 10, H*y, H*z - 3, 'FaceColor', all_colors(1, :), 'EdgeColor', 'none');
  17. surf(H*x - 4, H*y - 10, H*z - 3, 'FaceColor', all_colors(1, :), 'EdgeColor', 'none');
  18. surf(H*x - 4, H*y + 10, H*z - 3, 'FaceColor', all_colors(1, :), 'EdgeColor', 'none');
  19. % 坐标轴设备
  20. axis equal off
  21. % 光源,看起来更有立体感
  22. light
  23. lighting gouraud
复制代码
2.6.11  在随机圆里发生随机点

那些标致的sci论文图一般用什么软件建造的?-59.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. % 半径
  5. r = 8;
  6. % 圆心距
  7. d = 50;
  8. % 圆 1 的坐标,可变
  9. ox1 = 10;
  10. oy1 = 10;
  11. % 圆 2 的坐标,可变,那就随机吧
  12. theta_r = rand*2*pi;
  13. ox2 = ox1 + d*cos(theta_r);
  14. oy2 = oy1 + d*sin(theta_r);
  15. % 用极坐标形式,毫无疑问
  16. theta = linspace(0, 2*pi, 100);
  17. % 圆坐标
  18. x1 = ox1 + r*cos(theta);
  19. y1 = oy1 + r*sin(theta);
  20. x2 = ox2 + r*cos(theta);
  21. y2 = oy2 + r*sin(theta);
  22. % 绘图
  23. plot(x1, y1, 'Color', all_colors(19, :), 'LineWidth', 2);
  24. hold on
  25. plot(x2, y2, 'Color', all_colors(24, :), 'LineWidth', 2);
  26. count = 100;
  27. % 散点位置
  28. % 随机半径
  29. rs1 = rand(1, count)*r;
  30. % 随机角度
  31. thetas1 = rand(1, count)*2*pi;
  32. % 肯定坐标
  33. xs1 = ox1 + rs1 .* cos(thetas1);
  34. ys1 = oy1 + rs1 .* sin(thetas1);
  35. % 一样来一遍
  36. rs2 = rand(1, count)*r;
  37. thetas2 = rand(1, count)*2*pi;
  38. xs2 = ox2 + rs1 .* cos(thetas2);
  39. ys2 = oy2 + rs1 .* sin(thetas2);
  40. % 绘图
  41. plot(xs1, ys1, '.', 'Color', all_colors(1, :), 'MarkerSize', 10);
  42. plot(xs2, ys2, '.', 'Color', all_colors(2, :), 'MarkerSize', 10);
  43. hold off
  44. % 设备一下显现比例
  45. x_range = xlim;
  46. y_range = ylim;
  47. x_len = x_range(2) - x_range(1);
  48. y_len = y_range(2) - y_range(1);
  49. set(gcf, 'Position', [50, 50, x_len*10, y_len*10]);
复制代码
2.6.12  斜线添补的曲线

那些标致的sci论文图一般用什么软件建造的?-60.jpg
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. syms t
  5. n = 30;
  6. x = linspace(-pi, pi, n);
  7. y = sin(x);
  8. ax = axes;
  9. % 曲线
  10. plot(ax, x, y, 'k');
  11. hold on
  12. % 画带箭头 x 轴和 y 轴
  13. PlotLineArrow(ax, [-2*pi, 2*pi], [0, 0], 'none', 'k', 1);
  14. PlotLineArrow(ax, [0, 0], [-2, 2], 'none', 'k', 1);
  15. % 计较一切的斜线 一条斜线两个点
  16. xx = zeros(1, n);
  17. for i = 1:n
  18.     % 这个方程用来计较斜线的位置
  19.     f1 = 2*(t - x(i));
  20.     f2 = sin(t);
  21.     sol = vpasolve(f1 == f2, t);
  22.     xx(i) = double(sol);
  23. end
  24. yy = sin(xx);
  25. % 画斜线
  26. for i = 1:n
  27.     % 分 x 正负情况
  28.     if x(i) < 0
  29.         plot([xx(i), x(i)], [yy(i), 0], 'Color', all_colors(1, :));
  30.     else
  31.         plot([x(i), xx(i)], [0, yy(i)], 'Color', all_colors(1, :));
  32.     end
  33. end
  34. hold off
  35. % 几个关键点
  36. text(-pi, 0.1, '(-\pi, 0)');
  37. text(pi/2, 1.1, '(-\pi/2, 1)');
复制代码
完整版
【2.6.12 绘制带斜线添补的曲线图】Matlab科研论文作图 2.6.13  球板模子
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();  
  4. % 天生球面数据
  5. [x1, y1, z1] = sphere(101);         
  6. z0 = z1;
  7. % 半径 0.8 之外的不显现
  8. z1(x1.^2 + y1.^2 >= 0.8^2) = nan;   
  9. x0 = linspace(-1.2, 1.2, 25);
  10. z = linspace(-0.6, 0.6, 10);
  11. [x, z] = meshgrid(x0, z);
  12. y0 = zeros(size(x));
  13. [x2, y2] = meshgrid(x0);
  14. % 天生圆柱数据
  15. [x3, y3, z3] = cylinder(0.8);      
  16. s = zeros(size(x2));
  17. % 绘制两个球冠
  18. surf(x1, y1, z1);
  19. hold on
  20. % 绘制圆柱面
  21. surf(x3, y3, 1.2 * (z3 - 0.5));
  22. colormap('hot');
  23. freezeColors;
  24. % 绘制高低两个面
  25. surf(x2, y2, s-0.6);              
  26. surf(x2, y2, s+0.6);
  27. % 绘制四个侧面
  28. mesh(x, y0-1.2, z);
  29. mesh(x, y0+1.2, z);
  30. mesh(y0+1.2, x, z);
  31. mesh(y0-1.2, x, z);
  32. % 绘制两个大的球冠
  33. mesh(1.2*x1, 1.2*y1, 1.2*z0);
  34. hold off
  35. colormap(GenColormap(all_themes{1}, 64));
  36. % 镂空
  37. hidden off
  38. shading interp
  39. axis equal
  40. axis square
  41. axis off
复制代码
那些标致的sci论文图一般用什么软件建造的?-61.jpg
完整版
【2.6.13 球板模子】Matlab科研论文作图 2.6.14  BP神经收集图
  1. clear;clc;close all;
  2. figure;
  3. x1 = ones(1, 5);
  4. x2 = 2 * ones(1, 11);
  5. x3 = 3 * ones(1, 8);
  6. % 神经元位置
  7. y1 = 4:8;
  8. y2 = 1:11;
  9. y3 = 2.5:9.5;
  10. % 神经元之间的连线
  11. for i = 1:5
  12.     for j = 1:11
  13.         plot([x1(i), x2(j)], [y1(i), y2(j)], 'k');
  14.         hold on
  15.     end
  16. end
  17. for i = 1:11
  18.     for j = 1:8
  19.         plot([x2(i), x3(j)], [y2(i), y3(j)], 'k');
  20.     end
  21. end
  22. % 神经元
  23. scatter(x1, y1, 200, 'k', 'MarkerFaceColor', 'r');
  24. scatter(x2, y2, 200, 'k', 'MarkerFaceColor', 'y');
  25. scatter(x3, y3, 200, 'k', 'MarkerFaceColor', 'k');
  26. plot([1.5, 1.5], [0, 11], 'k--');
  27. plot([2.5, 2.5], [0, 11], 'k--');
  28. hold off
  29. axis off
  30. % 文本
  31. text(1.5, 11.75, '输入层');
  32. text(2, 11.75, '隐藏层');
  33. text(2.5, 11.75, '输出层');
复制代码
那些标致的sci论文图一般用什么软件建造的?-62.jpg
2.6.15  由一系列圆组成的圆环
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. x0 = 0;
  5. y0 = 0;
  6. r1 = 2;
  7. r2 = 1;
  8. theta = 0:pi/50:2*pi;
  9. for i = 1:length(theta)
  10.     % 系列小圆的圆心坐标 极坐标方式
  11.     x = x0 + r1 * cos(theta(i));
  12.     y = y0 + r1 * sin(theta(i));
  13.     % 以小圆圆心画圆 极坐标方式
  14.     xx = x + r2 * cos(theta);
  15.     yy = y + r2 * sin(theta);
  16.     plot(xx, yy, 'Color', all_colors(1, :));
  17.     hold on
  18. end
  19. hold off
  20. % 限制显现范围
  21. xlim([-3, 3]);
  22. ylim([-3, 3]);
  23. % x y 轴等宽
  24. axis equal
  25. % 松散
  26. axis tight
复制代码
那些标致的sci论文图一般用什么软件建造的?-63.jpg
2.6.16  棋盘格
  1. clear;clc;close all;
  2. % 获得到色彩
  3. [all_themes, all_colors] = GetColors();
  4. figure;
  5. % 天生数据点
  6. [x, y] = meshgrid(30:39);
  7. x = x(:);
  8. y = y(:);
  9. scatter(x, y, 100, all_colors(1, :), 'LineWidth', 2);
  10. hold on
  11. % 随机添补几个点
  12. number = 10;
  13. index_x = randi(9, 1, number) + 30;
  14. index_y = randi(9, 1, number) + 30;
  15. scatter(index_x, index_y, 100, all_colors(6, :), 'MarkerFaceColor', all_colors(6, :), 'LineWidth', 2);
  16. hold off
  17. % 显现网格
  18. grid on
  19. % 网格属性
  20. set(gca, 'GridAlpha', 1, 'GridColor', [0 0 0], 'GridLineStyle', '--');
复制代码
那些标致的sci论文图一般用什么软件建造的?-64.jpg

3

主题

12

回帖

29

积分

新手上路

积分
29
发表于 2023-1-7 16:30:53 | 显示全部楼层
作为一个正在屏幕前冷静翻开3dmax的博士科研狗,看到这个题目,不由思绪万千,瞬间酿成话痨。实在很久之前,刚起头搞科研尝试的时辰,只晓得要想创新点、做尝试数据和写文章,后来才晓得本来把握绘图技术也是非常地关键。优异的绘图技术,不但可以让数据简洁,让心灵愉悦,而且在实站中,会大猛进步文章的接收几率!

那些标致的sci论文图一般用什么软件建造的?-1.jpg
所谓“见字如面”,标致的论文图如同论文的“颜值”,在这个天下,显得分外高峻上。总结来看,需要提升颜值的论文图分为两种:一种是数据图,另一种是表示图。接下来,我就连系自己的硕士、博士履历,给大师分享下,建造标致论文图一般所用到的那些“奥秘而又熟悉”的软件吧!

√PPT
对的,就是平常用的PPT,它除了演示功用之外,也可以绘制逼格较高的sci论文图!而且,方便简单,轻易调剂!很多顶级期刊的文章,都能见到PPT工具所绘制图形的影子。
比如绘制一个标致的三维的球,便可以方便地用PPT来调制。第一步,绘制5cm高、5cm宽的圆;第二步设备三维格式,依照经历,大约设备为14倍直径即70磅,输入到顶端棱台的宽度与高度中;第三步可以设备突变添补,里面有很多色彩可以挑选;第四步是,可以挑选材料和光源角度,从而使球体加倍立体,设备心仪的色彩和外形。

那些标致的sci论文图一般用什么软件建造的?-2.jpg
此外,PPT还可以绘制一些具体的现实物体,比如说温度计。
第一步在“外形”菜单中点击椭圆,新建一个椭圆外形,再在椭圆的外形格式中,挑选“突变添补”,突变光圈位置设为“1%”,通明度设备为“25%”,亮度设备为“0%”,获得一个小光圈;

那些标致的sci论文图一般用什么软件建造的?-3.jpg
第二步,在“外形”菜单中点击椭圆,新建一个椭圆外形,再在椭圆的外形格式中,巨细设备为高“2.4厘米”,宽“2.4厘米”;再在添补菜单当挑选“突变添补”,范例设备为“射线”,位置设为“1%”,获得一个红色光圈;

那些标致的sci论文图一般用什么软件建造的?-4.jpg
第三步,组合第一步光圈和第二步光圈,获得温度计水银球;

那些标致的sci论文图一般用什么软件建造的?-5.jpg
第四步,“外形”菜单中点击直线,新建一个直线外形,再在椭圆的外形格式中,线条菜单当挑选“实线”,宽度设备为“2磅”。建造一条长的直线和十六条短的直线,再把这些直线挑选排列菜单,放置工具“对齐”,依次挑选“左对齐”和“顶端对齐”,获得温度计示数条;

那些标致的sci论文图一般用什么软件建造的?-6.jpg
第五步,“外形”菜单中点击肆意闭合图形,新建一个肆意闭合图形外形,再在外形格式中,外形选项菜单当挑选“突变添补”,范例设备为“线性”。突变光圈挑选三个,双方红色,中心红色,调剂好以后,与第一步的小光圈组合,构成温度计示数槽,一样的,再绘制其他两个红色的外壳;

那些标致的sci论文图一般用什么软件建造的?-7.jpg
第六步,将第一步至第五步的元素组合,构成一个温度计。别的经过调理参数,也可以建形成下图右侧的三个图,看着还不错,哈哈!

那些标致的sci论文图一般用什么软件建造的?-8.jpg
总之,PPT绘制科研图,方便简单,还有很多的工具都可以绘制,比如简单的立体外形、表格、还有流程图都可以方便获得。

√Origin
实在Origin是科研数据处置的根本软件,但是很多人并没有充实操纵好这个软件的作图技能。我是在硕士一年级的时辰,那时辰在网上报了一个论文写作与颁发练习营,练习营专门在上论文润饰这个部分课程的时辰,教员教会了我一些Origin作图的技能,后来我也用在了我的硕士论文中。在练习营进修了以后,我才发现实在很多平平无奇的软件隐藏了很多意想不到的功用。
翻开Origin软件,我们会发现,在“Plot”下面实在就有很多Origin所展现出来的,可以绘制的一些高峻上的图形,可以让数据加倍简洁了然。

那些标致的sci论文图一般用什么软件建造的?-9.jpg

Origin软件界面

我给大师举个例子,就展现一下若何绘制contour图吧。
第一步,首先翻开软件,点击菜单栏中的“file”,子选项当挑选“new”,再挑选“matrix”,从而新建一个矩阵(matrix);

那些标致的sci论文图一般用什么软件建造的?-10.jpg
第二步,在跳出来的matrix界面,设备columns为“4”,rows为“4”,再点击“OK”这样就会获得一个4*4矩阵;

那些标致的sci论文图一般用什么软件建造的?-11.jpg
第三步,在跳出来的4*4矩阵界面中,依次输入数据,而且上方还有个小矩阵,为图形的预览;

那些标致的sci论文图一般用什么软件建造的?-12.jpg
第四步,在菜单选项中点击“Plot”,再点击“Contour”,挑选其子选项中的“color fill”,就获得了以下右图所示的图形了;

那些标致的sci论文图一般用什么软件建造的?-13.jpg
第五步,点窜图形色彩,可以在菜单栏中的Palettes当挑选自己喜好的色彩停止调理。图形的边框等参数都是可以点窜的。

那些标致的sci论文图一般用什么软件建造的?-14.jpg

√Chemdraw与Chem3D
我们在做图形的时辰,常常不晓得若何去绘制份子式,实在份子式的绘制,首要要用的就是chemdraw这款软件了。在chemdraw我们可以绘制各类苯环、镜像等化学份子式。
比如绘制一个苯酚份子式。
第一步,在左侧工具栏,挑选苯环结构,点击并绘制在空缺处;

那些标致的sci论文图一般用什么软件建造的?-15.jpg
第二步,点击直线工具,并绘制在苯环的右侧;

那些标致的sci论文图一般用什么软件建造的?-16.jpg
第三步,点击笔墨工具,在直线的右侧输入“OH”,这样一个简单的苯酚份子式就画好了。

那些标致的sci论文图一般用什么软件建造的?-17.jpg
为了进一步提升份子式的“颜值”,我们还需要对chemdraw所绘制的平面份子式停止处置,很简单的一种方式就是将chemdraw绘制出来的份子式间接拖到chem3D软件中,这样就获得了立体的份子式了。在chem3D中可以改变份子式的扭转角度、色彩还有模子,这个大师试探试探就晓得了。

那些标致的sci论文图一般用什么软件建造的?-18.jpg

Chem3D绘制科研绘图示例

√PS
PS软件经常被爱好标致的女生拿来修图,而这款软件一样也可以用来建造一些都雅的科研元素,是科研绘图中重要的工具,大量地被用来绘制TOC封面和文章表示图。
就拿我绘制的一幅图来说,PS首要分为图层、工具和菜单部分。在PS中操纵图层很轻易在图形前面插入布景,比如我这里面的宇宙布景。别的一些红色的雾气则是经过笔刷工具获得;而红色与蓝色的光斑则是用笔刷、橡皮差、图层等组合而成,对应的教程网上都有,所需要做的就是熟悉软件,一步一步去模仿进修。
雾气进修链接:https://jingyan.baidu.com/article/a501d80cc939f1ad630f5eeb.html
光斑进修链接:https://www.bilibili.com/video/av586543063/

那些标致的sci论文图一般用什么软件建造的?-19.jpg

PS绘制科研绘图示例

√3Dmax
近年来,3dmax这款软件收到了越来越多的关注,这款软件可以绘制很多立体图形,而且有自带衬着结果,图形非常都雅,是以收到了普遍的关注。这个软件绘制的图形以立体多少居多,可以鉴戒以下的实例。

那些标致的sci论文图一般用什么软件建造的?-20.jpg

3Dmax绘制科研绘图示例

3Dmax软件的网上教程视频很多,比如b站上的课程也很丰富。下面就我之前绘制的简单的图形作为实例,给大师简单分享一下:
第一步,操纵工具绘制一定巨细的多少体,我这里主如果圆柱体和圆球,在工具范例栏下,依次点击“球体”和“圆柱体”,再右击球体,里面有移动、扭转等挑选操纵,对其停止“缩放”操纵,在Z偏向缩放后可以获得左侧的这个椭球外形。

那些标致的sci论文图一般用什么软件建造的?-21.jpg
第二步,操纵“移动”“扭转”工具对这些多少体停止移动组合。获得下面这个图形,这个图形实在就是ATP转换酶的样子。

那些标致的sci论文图一般用什么软件建造的?-22.jpg
第三步,再对组合的物资赋予材质,在菜单栏当挑选“衬着”,再挑选“材质编辑器”,再挑选“精简材质编辑器”;在材质弹出框中,可以设备色彩为“枣红色”,反射色彩为“红色”,反射光芒为“0.91”,光芒“1.0”,IOR“1.6”等,再赋予给选定的工具;

那些标致的sci论文图一般用什么软件建造的?-23.jpg
第四步,衬着出图,挑选菜单项中的“衬着”,点击“衬着设备”,弹出的窗口中设备衬着地区为“视图”,图片宽度“640”,图片高度“480”,光圈宽度“36.0”,点击“衬着”,最初衬着出来的图片如右图所示,为方即可以设备为分歧格式的图片文件。追求图片小一点,可存为“jpg” 文件格式;追求图片清楚点,同时无布景,可存为“png” 文件格式;假如想图片最清楚,下次还可以用3Dmax翻开点窜的话,倡议存为“tiff”文件格式。

那些标致的sci论文图一般用什么软件建造的?-24.jpg

√ANSYS
ANSYS软件是融结构、流体、电场、磁场、声场分析于一体的大型通用有限元分析软件。ANSYS可以做结构分析,肯定结构的变形、应变、应力和反感化力等;还可以做热分析,计较物体的稳态或瞬态温度散布,以及热量的获得或损失、热梯度、热通量等;还可以做电磁分析,用于计较磁场,包括静磁场、交变磁场、瞬态磁场、交变电磁场等;还可以做流体分析,用于肯定物体的活动和热行为,包括不成紧缩或可紧缩流体、层流及湍流,以及多组分流等;别的还能做耦合场分析,以斟酌两个或多个物理场之间的相互感化。
是以,ANSYS软件在各大顶级期刊都有不俗的表示,下面就是用ANSYS处置出来的一些顶级期刊(包括science\mature\PNAS以及其他的顶级杂志)图形。

那些标致的sci论文图一般用什么软件建造的?-25.jpg

基于ANSYS一些杂志绘制的科研绘图

先容到这里,一般SCI论文绘制的科研图所需要的软件根基就先容完了,把握了这些软件我们来停止一篇SCI文章的实例剖析,看看用到了那些软件。
这篇文章的第一幅图,以下所示。这里面的诸如太阳能电池板、气罐、烧杯等都是可以在网上找到图片素材的,而里面的数据是Origin画的,箭头用PPT便可以处理,而纳米颗粒用3dmax比力好画,光斑则可以在PS中实现,一切的元素也是在PS中组合获得。

那些标致的sci论文图一般用什么软件建造的?-26.jpg

实例SCI文献第一幅图

文章的第二幅图,以下所示。中心的数表示直线、箭头、笔墨可以在PPT中画,而其他的立体元素都可以在3dmax中获得。

那些标致的sci论文图一般用什么软件建造的?-27.jpg

实例SCI文献第二幅图

文章的第三幅图,以下所示。A\B\C三幅图都是在Origin获得,而其他的图是SEM/STM等测试软件间接获得的,中心的箭头是在PPT中获得的。

那些标致的sci论文图一般用什么软件建造的?-28.jpg

实例SCI文献第三幅图

文章的第四幅图,以下所示。A\B\C三幅图都是在Origin获得,D图是在此外文献中总结获得。

那些标致的sci论文图一般用什么软件建造的?-29.jpg

实例SCI文献第四幅图

文章的第五幅图,以下所示,都是在Origin获得的。

那些标致的sci论文图一般用什么软件建造的?-30.jpg

实例SCI文献第五幅图

是以分享到这里,我还想跟列位学弟学妹说的是,软件仅仅是让我们的数据加倍都雅一些,表达加倍清楚简洁一些。而真正决议文章档次的还得是我们的原始数据,我们的课题的研讨意义。最初祝大师能天天有data,年年有paper!

3

主题

12

回帖

31

积分

新手上路

积分
31
发表于 2023-1-7 16:31:19 | 显示全部楼层
​相信每个科研人士都或多或少有这样的惨重履历:辛劳做尝试,空有一手数据不知若何绘图;科研气力在线,却由于图表混乱被审稿人拒绝;市道上绘图教程复杂,收藏了1个G还是无从动手;无数次设想自己能做出高峻上的绘图,但每次做出来的图都low爆了,怎样看都有一种小门生即视感……


偶然辰,还会翻车....

那些标致的sci论文图一般用什么软件建造的?-1.jpg
有这些遭受的同学,确切不在少数。要处理这些题目,我们首先来诠释题目背后的缘由。
实在,不管是科研小白写结业论文,还是科研硬核们投稿/发SCI论文,审稿人/导师在评判文章质量时,有三个要素最为关键:别离是排版、内容(题目、摘要、文献综述)、图表。
画欠好论文的图表,就相当于Paper落空了引入注视标颜值。没法写出一篇优异论文,或频频被审稿人拒稿的首要缘由之一就归结于此。
是以,在论文创作中,你必须对图表绘制打起12万分的精神,火力全开绘制气力、颜值双在线的图表!

因而,小V明天就将从绘图的现实需求动手,为大师带来SCI科研绘图常用软件。

静态图绘制:Sigmaplot

▌什么是Sigmaplot?
SigmaPlot是由SYSTAT 科技推出的一款专业的科学绘图软件,可用于绘制正确、高质量的图形和曲线,支持一百多种2D、3D科学图形的绘制。

那些标致的sci论文图一般用什么软件建造的?-2.jpg
▌Sigmaplot可绘制什么图?
假如您常颁发科技性文章及论文,而且有众多的数据要 酿成XY,XYZ图形,那SigmaPlot可以为您节省大量的时候,不必浪费高贵的野生去做夫役
▌优点1:工具齐全
Sigmaplot供给了从根基统计数据到高级数学计较分析数据所需的一切根基工具。
▌优点2:数据治理自动化
在处置复杂数据时,Sigmaplot的巨集指令可以让数据治理自动化,并立即将材料化成图形。

仿真图绘制:Matlab

▌什么是Matlab?
Matlab是由美国MathWorks公司出品的贸易数学软件,它将数值分析、矩阵计较、科学数据可视化以及非线性静态系统的建模和仿真等诸多强大功用集成在一个易于利用的视窗情况中,为科学研讨、工程设想以及必须停止有用数值计较的众多科学范畴供给了一种周全的处理计划!
▌Matlab可绘制什么图?
下面一路来欣赏Matlab仿真模子的抗打属性。
甚至,还有学霸用Matlab绘制爱心停止剖明....追女神,都快把Matlab给我用起来!

那些标致的sci论文图一般用什么软件建造的?-3.jpg
那我们再来盘点一下它强大的优点。
▌优点1:编程效力高
它答应利用数学形式的编程说话,比C说话接近我们写计较公式的思维,是最接近通用说话的科学计较说话,写爬虫、gui时效力很是高!
▌优点2:简双方便易上手
灵活方便,调试法式的速度很是快,进修了解本钱低,轻易上手!
▌优点3:资本丰富
自带强大的二维、三维函数库,以及各类强大的工具箱,可以让你轻松绘制出立体活泼的图像。

流程图绘制:Lucidchart

假如你没有绘画根本,想画流程图又担忧不能画好,那末Lucidchart会是你的绝佳挑选。

那些标致的sci论文图一般用什么软件建造的?-4.jpg
▌优点1:无需绘画根本,上手快
要想在Lucidchart中绘制精彩流程图,不需要任何绘画根本,仅用鼠标拖拽图表即可完成绘图,可以让零根本的你快速上手哦~
▌优点2:实时同享,方便快速
它可以实现与他人实时同享流程图,还可以与他人同时绘制与点窜,大猛进步了团队合作的效力。华为、微软和星巴克等著名企业,都是Lucidchart的用户哦~
▌优点3:百种模板任你选
Lucidchart有几百种模板和典范,包括流程图、UML、ERD、营业流程模子、构造结构图、思维导图以及网站舆图等。

平面图绘制:Adobe Illustrator

Adobe作为图像处置软件方面的大佬,推出的illustrator(缩写为AI)就以其简洁了然的矢量呈像气概,在图像处置时成为了科研职员的首选。

那些标致的sci论文图一般用什么软件建造的?-5.jpg
▌优点1:利用学科普遍
illustrator可以利用绘图的学科非常普遍,从医学到产业,只要你敢想,便可以画出脑海中的图像。
▌优点2:图像质量高
由于AI输出的图像都为矢量图,所以不用担忧图像像素的题目。

论文图像绘制:Gnuplot

▌什么是gnuplot?
gnuplot是R说话的一个包,最擅长统计数据可视化,其焦点理念是将绘图与数据分手。gnuplot既支持号令行交互形式,也支持剧本,可以在多个平台下利用。
▌gnuplot可绘制什么图?
gnuplot支持很多范例的2D、3D绘图,可用于绘制点、线、框、表面、矢量场以及曲面。

那些标致的sci论文图一般用什么软件建造的?-6.jpg
那我们再来看看它有哪些强大的优点~
▌优点1:专业绘图、范例多样
gnuplot绘图软件是集线、点、箱、等高线、矢量场等范例的专业绘图软件。
▌优点2:支持多范例输出
gnuplot绘图软件支持多种分歧范例输出以及支持多种文件格式。

科研路虽然难,但还是要踏踏实实的走哦!
假如摸不到进修的门路,
那末接待征询【小V科研】团队教你科研套路!...

小V会继续为大师分享更多的科研干货,敬请期待哦

2

主题

13

回帖

21

积分

新手上路

积分
21
发表于 2023-1-7 16:31:47 | 显示全部楼层
您可以轻松绘制类似这类图(贴部分图,部分图间接搬自官网,违权可删除)

那些标致的sci论文图一般用什么软件建造的?-1.jpg

那些标致的sci论文图一般用什么软件建造的?-2.jpg

那些标致的sci论文图一般用什么软件建造的?-3.jpg

那些标致的sci论文图一般用什么软件建造的?-4.jpg

那些标致的sci论文图一般用什么软件建造的?-5.jpg

那些标致的sci论文图一般用什么软件建造的?-6.jpg

那些标致的sci论文图一般用什么软件建造的?-7.jpg

那些标致的sci论文图一般用什么软件建造的?-8.jpg

那些标致的sci论文图一般用什么软件建造的?-9.jpg

那些标致的sci论文图一般用什么软件建造的?-10.jpg

那些标致的sci论文图一般用什么软件建造的?-11.jpg

那些标致的sci论文图一般用什么软件建造的?-12.jpg

那些标致的sci论文图一般用什么软件建造的?-13.jpg

那些标致的sci论文图一般用什么软件建造的?-14.jpg

那些标致的sci论文图一般用什么软件建造的?-15.jpg
<hr/>保举阅读

<a href="http://zhuanlan.zhihu.com/p/313462427" class="internal">pythonic生物人:Python可视化笔记43篇合集(倡议收藏)
pythonic生物人:从哪些方面动手进步Python?Python社区“老司机们”的这本书讲清楚了!
Python 从入门到精通保举看哪些书籍呢?
你所读的统计学偏向,有哪些不错的课本(Notes)?
你是若何自学R说话的?
pythonic生物人:13个高清图助快速上手Python: NumPy/Pandas/SciPy/Matplotlib?
有哪些你看了今后大呼过瘾的数据分析书?
pythonic生物人:丰富的Python可视化“兵器库”:从PyViz到Matplotlib
GitHub上都有哪些值得关注进修的R开源项目?
机械进修、数据科学 若何进阶成为大神?
作为一个研讨生,有哪些你直呼好用的科研神器?
作为统计的博士生,你都读过哪些对你影响深远的统计书籍?
接待关注 @pythonic生物人

0

主题

18

回帖

20

积分

新手上路

积分
20
发表于 2023-1-7 16:32:38 | 显示全部楼层
专业制图神器!!!在线强推10个超好用的作图软件哦~
(p.s. 大师在批评提到的orgin和SPSS芳教员在别的一个回答有具体提到了,并附了简单操纵教程哦~快戳 若何在论文中画出标致的插图?)
一、Lucidchart

Lucidchart连系了图表、数据可视化等功用,可以帮助读者快速阅读,除此之外Lucidchart还给大师供给了很多分歧用处的模板,方便一些不会画画的小白上手,这些模板包括概念图、ER图、构造流程图、思维导图等等。
【数据流程图】

那些标致的sci论文图一般用什么软件建造的?-1.jpg
【代价流程图】

那些标致的sci论文图一般用什么软件建造的?-2.jpg
【思维导图】

那些标致的sci论文图一般用什么软件建造的?-3.jpg
二、 Prism

Prism是一种数据分析软件,具有着八种分歧范例的数据表,由于利用群体中能够存在着对统计常识领会不深的同学,是以这款软件还在界面设备上用非统计学术说话给同学们供给了数据分析利用指南,从常见到特定的分析方式(非线性回归、t检验、单向、保存分析等),是一款对同学们很是友爱的软件。

那些标致的sci论文图一般用什么软件建造的?-4.jpg
此外,在这款软件的官网上还供给了部分统计方式的讲授视频:

那些标致的sci论文图一般用什么软件建造的?-5.jpg

Prism官网的t检验视频教程

三、MATLAB

说完上面两个软件以后,芳教员再来给大师安利一个偏理工科方面的制图软件——MATLAB。其利用范畴非常普遍,有机械进修、机械人技术、计较生物学等等:

那些标致的sci论文图一般用什么软件建造的?-6.jpg
【计量生物学的数据分析】

那些标致的sci论文图一般用什么软件建造的?-7.jpg
【衍生产物的定价】

那些标致的sci论文图一般用什么软件建造的?-8.jpg
四、Sigmaplot

最初,芳教员将盛大地给大师推出一款2D和3D图表的建造之王——Sigmaplot。这一款软件可给同学们供给百余种分歧的2D和3D图表,不管是简单的散点图还是复杂的森林图,Sigmaplot都有。有这个还愁找不到精彩的数据可视化表示形式嘛?

那些标致的sci论文图一般用什么软件建造的?-9.jpg

那些标致的sci论文图一般用什么软件建造的?-10.jpg
值得芳教员吹爆的还有Sigmaplot还给大师供给了丰富的图库,无需自己绘图哦:

那些标致的sci论文图一般用什么软件建造的?-11.jpg
五、Tableau

Tableau是一款被利用得很是普遍,可以给你供给多种可视化计划的软件,不但如此,它还有诠释数据的功用。

那些标致的sci论文图一般用什么软件建造的?-12.jpg

那些标致的sci论文图一般用什么软件建造的?-13.jpg
六、Qlikview & Qliksense

Qlikview里面的图表等都是交互式的,它可以经过你的一个操纵,立即同步更新一切工具,还可以显现数据的各类形状并查出异常值。

那些标致的sci论文图一般用什么软件建造的?-14.jpg
此外,Qlikview还可以将这些获得的可视化形式整合在一路,有助于同学们去横向比力
感激批评区的知友提醒哦~ 下面供给的配图实在是QlikSense。QlikSense和Qlikview呢,是两个产物,其中Qliksense是一种直观的自立数据可视化法式,可以充实操纵自助可视化、自界说开辟和嵌入式分析,充实和Qlikview焦点功用类似,都可以操纵不异的底层数据模子,并支持交互式、沉醉式的发现体验。

那些标致的sci论文图一般用什么软件建造的?-15.jpg

再次感激批评区的知友提醒哦~ 配图为QlikSense

七、FusionCharts

说到这个FusionCharts,其获得的可视化形式可谓真的是一场视觉盛宴啊!!非论是它的外形还是配色都不能不让芳教员这座冰山动心。颜值这么高也就算了,气力也不差——从简单的柱状图到复杂的漏斗图,FusionCharts都有。FusionCharts给列位同学们供给了百余种图表和上千个舆图,话不多说,芳教员就让你们来看看这让我动心的仙人图吧:

那些标致的sci论文图一般用什么软件建造的?-16.jpg

那些标致的sci论文图一般用什么软件建造的?-17.jpg
此外,FusionCharts简直就像个贴心的蜜斯姐,还给同学们先容了图表的适用范围若何利用,甚至连图表的范围性处理方式也全盘托出,OMG,i了i了。

那些标致的sci论文图一般用什么软件建造的?-18.jpg
八、Highcharts

Highcharts这款也给大师供给了很是多色彩也丰富的图表哦,除了2D、3D,它还供给静态图表呢~

那些标致的sci论文图一般用什么软件建造的?-19.jpg
九、Datawrapper

不晓得任何的代码也不懂设想,Datawrapper可以携同学们飞:

  • 第一步,从Excel等中导入数据(支持XLS/CSV/网址)
  • 第二步:点击选项,叮咚,完成辽~

那些标致的sci论文图一般用什么软件建造的?-20.jpg

那些标致的sci论文图一般用什么软件建造的?-21.jpg
10、Plotly

Plotly与上一款分歧,它需要大师有一定的代码根本,可是与之相对的,它的才能很高,可以处置很多复杂的数据。
第一步:操纵Python大概是R建立数据库。

那些标致的sci论文图一般用什么软件建造的?-22.jpg
第二步:用单个git号令停止数据摆设。

那些标致的sci论文图一般用什么软件建造的?-23.jpg
第三步:出图辽~

那些标致的sci论文图一般用什么软件建造的?-24.jpg
以上这些绘图软件,同学们可以各取所需,希望同学们喜好哈~

最初,假如大师对于科研布景提升论文颁发「科研课题教导」「名校科研助理申请」有任何想法的话,非常接待大师来戳一戳芳教员(一般人芳教员是不会告诉ta客服微信滴:invisor003,记得备注“知乎学术科研”哈~~~)❤️❤️ 喜好记得点赞收藏转发
<hr/>【保举阅读】

  • SCI论文写作必备网站神器,论文说话学术范走起!
  • SCI图文摘要不会做怎样破?芳教员六个要点大揭秘!!!
  • InVisor学术科研:号外!最新SCI论文颁发流程小技能至公然!
  • 若何在论文中画出标致的插图?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|小悠文档创作分享社区 ( 粤ICP备11072215号 )|网站地图

GMT+8, 2024-11-23 16:13 , Processed in 0.617947 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表