如何在MatLab,Mathematica和Desmos中的情节中为不同的分支获取不同的颜色

斯洛克·维巴哈夫(Shlok Vaibhav)

我正在尝试获取像这样的平板波导色散图(虚线):分散我在Matlab中尝试了以下代码:

function main
fimplicit (@(x,y)f(x,y),[0 10])
end
function fun = f(x,y)
nc=1.45;    %cladding
nf=1.5;
ns=1.4;    %substrate
h=5;  %width of waveguide
beta=sqrt(x^2*nf^2-y.^2);
gammas=sqrt(beta.^2-x^2*ns^2);
gammac=sqrt(beta.^2-x^2*nc^2);
z=sin(h*y);
%TE mode
fun=z-cos(h*y)*(gammac+gammas)./(y-gammas.*gammac./y);
end

我得到了: 阴谋

使用Desmos:

在此处输入图片说明

使用Mathematica:

nc = 1.45;
nf = 1.5;
ns = 1.4;
h = 5;
ContourPlot[
 Sin[h y]*(y^2 - (Sqrt[x^2*(nf^2 - nc^2) - y^2]*
       Sqrt[x^2*(nf^2 - ns^2) - y^2])) == 
  Cos[h y]*(Sqrt[x^2*(nf^2 - nc^2) - y^2] + 
     Sqrt[x^2*(nf^2 - ns^2) - y^2])*y, {x, 0, 10}, {y, 0.1, 10}]

在此处输入图片说明

所有地块都与预期的形式非常吻合。但是,原始图的每个分支都有不同的颜色,如何在MatLab,Desmos或Mathematica中实现呢?

罗希特·南乔(Rohit Namjoshi)

Mathematica

更新

添加图例,使用较深的黄色。

colors = {Blue, Green, Red, Cyan, Magenta, RGBColor["#cdcd41"]};

labels = MapThread[
   ToString[Subscript[Style["TE", Bold, 16, #2], 
      Style[ToString@#1, Bold, 12, #2]], StandardForm] &, {Range[0, 5], colors}];

legend = LineLegend[colors, labels, LegendLayout -> "ReversedColumn", LegendMarkerSize -> 20];

plot = ContourPlot[
   Sin[h y]*(y^2 - (Sqrt[x^2*(nf^2 - nc^2) - y^2]*
         Sqrt[x^2*(nf^2 - ns^2) - y^2])) == 
    Cos[h y]*(Sqrt[x^2*(nf^2 - nc^2) - y^2] + 
       Sqrt[x^2*(nf^2 - ns^2) - y^2])*y, {x, 0, 10}, {y, 0, 4}, PlotLegends -> legend];

coloredLines = Riffle[colors, Cases[plot, _Line, Infinity]];

plot /. {a___, Repeated[_Line, {6}], c___} :> {a, Sequence @@ coloredLines, c}

在此处输入图片说明

原始答案

我找不到使用ContourPlot选项为隐式函数图的线条上色的方法。这是一种通过对图表达进行后处理的方法(技巧)。

plot = ContourPlot[
 Sin[h y]*(y^2 - (Sqrt[x^2*(nf^2 - nc^2) - y^2]*
       Sqrt[x^2*(nf^2 - ns^2) - y^2])) == 
  Cos[h y]*(Sqrt[x^2*(nf^2 - nc^2) - y^2] + 
     Sqrt[x^2*(nf^2 - ns^2) - y^2])*y, {x, 0, 10}, {y, 0, 4}];

coloredLines = Riffle[{Blue, Green, Red, Cyan, Magenta, Yellow}, Cases[plot, _Line, Infinity]];

plot /. {a___, Repeated[_Line, {6}], c___} :> {a, Sequence @@ coloredLines, c}

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MATLAB中为曲面的不同面选择不同的颜色

来自分类Dev

如何在plotyy(Matlab)中设置不同图例的背景颜色?

来自分类Dev

如何在RangeSlider中为拖把赋予不同的颜色

来自分类Dev

如何在ggplot中为线条设置不同的颜色

来自分类Dev

如何在 Java GUI 中为按钮创建不同的颜色?

来自分类Dev

如何在Flutter中为下拉标签和下拉列表文本设置不同的颜色?

来自分类Dev

如何在 WebGL 中为点设置不同的颜色和大小?

来自分类Dev

如何在 Jenkins 管道中为不同阶段设置不同的分支

来自分类Dev

如何在 Android 中定义 EditText 的不同颜色和宽度

来自分类Dev

如何在matlab中为矩阵图给出不同的线谱

来自分类Dev

如何在Matlab R2012b中的情节中获取斯堪的纳维亚字母ä和ö

来自分类Dev

如何在Xib中为不同的UIViewcontroller设置不同的导航栏颜色?

来自分类Dev

如何在Gridsome / vue.js中为不同的页面指定不同的背景颜色?

来自分类Dev

如何在highcharts中为不同系列的整个工具提示应用不同的背景颜色

来自分类Dev

如何在同一图表中为不同的图设置不同的颜色?

来自分类Dev

如何在python中制作这9个具有不同颜色和大小的不同球

来自分类Dev

如何在D3 Dimple中为不同的线条和线条系列正确分配单独的颜色?

来自分类Dev

Matlab冲浪情节侧面的不同颜色

来自分类Dev

如何在inno设置中为TNewStaticText中的文本添加不同的颜色

来自分类Dev

如何在git中找出分支之间哪些文件不同?

来自分类Dev

如何在pygtk TreeView中的奇数行和偶数行中添加不同的颜色

来自分类Dev

当我在MATLAB中循环绘图时如何给不同的颜色?

来自分类Dev

如何在Jmeter中为不同的用户分配不同的带宽

来自分类Dev

如何在Qt中为不同的按钮设置不同的图标?

来自分类Dev

如何在Qt中为不同的按钮设置不同的图标?

来自分类Dev

如何在R中的多面板图中为每个面板指定不同的颜色

来自分类Dev

如何在angular-chart.js中为每个栏设置不同的颜色?

来自分类Dev

如何在php中为div的循环赋予3种不同的颜色

来自分类Dev

如何在Android中为gridview行项目应用不同的颜色?

Related 相关文章

  1. 1

    如何在MATLAB中为曲面的不同面选择不同的颜色

  2. 2

    如何在plotyy(Matlab)中设置不同图例的背景颜色?

  3. 3

    如何在RangeSlider中为拖把赋予不同的颜色

  4. 4

    如何在ggplot中为线条设置不同的颜色

  5. 5

    如何在 Java GUI 中为按钮创建不同的颜色?

  6. 6

    如何在Flutter中为下拉标签和下拉列表文本设置不同的颜色?

  7. 7

    如何在 WebGL 中为点设置不同的颜色和大小?

  8. 8

    如何在 Jenkins 管道中为不同阶段设置不同的分支

  9. 9

    如何在 Android 中定义 EditText 的不同颜色和宽度

  10. 10

    如何在matlab中为矩阵图给出不同的线谱

  11. 11

    如何在Matlab R2012b中的情节中获取斯堪的纳维亚字母ä和ö

  12. 12

    如何在Xib中为不同的UIViewcontroller设置不同的导航栏颜色?

  13. 13

    如何在Gridsome / vue.js中为不同的页面指定不同的背景颜色?

  14. 14

    如何在highcharts中为不同系列的整个工具提示应用不同的背景颜色

  15. 15

    如何在同一图表中为不同的图设置不同的颜色?

  16. 16

    如何在python中制作这9个具有不同颜色和大小的不同球

  17. 17

    如何在D3 Dimple中为不同的线条和线条系列正确分配单独的颜色?

  18. 18

    Matlab冲浪情节侧面的不同颜色

  19. 19

    如何在inno设置中为TNewStaticText中的文本添加不同的颜色

  20. 20

    如何在git中找出分支之间哪些文件不同?

  21. 21

    如何在pygtk TreeView中的奇数行和偶数行中添加不同的颜色

  22. 22

    当我在MATLAB中循环绘图时如何给不同的颜色?

  23. 23

    如何在Jmeter中为不同的用户分配不同的带宽

  24. 24

    如何在Qt中为不同的按钮设置不同的图标?

  25. 25

    如何在Qt中为不同的按钮设置不同的图标?

  26. 26

    如何在R中的多面板图中为每个面板指定不同的颜色

  27. 27

    如何在angular-chart.js中为每个栏设置不同的颜色?

  28. 28

    如何在php中为div的循环赋予3种不同的颜色

  29. 29

    如何在Android中为gridview行项目应用不同的颜色?

热门标签

归档