公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
1.9k 浏览
Clear[k, t, a];
k = 1;
a = {0, 1, 2, 3, 4, 5};
ParametricPlot[{Log[10, Sqrt[k (t^6 - 1) + t^8 - t^2 - #*t^5]],
    Sqrt[k (t^-2 - t^-8) + 1 - t^-6 - #*t^-3]} & /@ a, {t, 1, 10},
 AspectRatio -> 1/2, PlotRange -> {{0, 5}, {0, 1.2}}]

 

输出的图像如下图,可是这个时候每条线的颜色都一样,PlotLegends函数没有用,如何解决每条线的标注问题呢?

补充

解决的方法就是使用Evaluate函数,因为参看ParametricPlot可能存在的问题,使用 ParametricPlot 函数画出来的图像是按照一个整体处理的,画出来的所有曲线都被看成了整体,所以此时使用PlotLegends函数没有用,而添加Evaluate函数就能解决这个问题。

Clear[k, t, a];
k = 1;
a = {0, 1, 2, 3, 4, 5};
ParametricPlot[
 Evaluate[{Log[10, Sqrt[k (t^6 - 1) + t^8 - t^2 - #*t^5]], 
     Sqrt[k (t^-2 - t^-8) + 1 - t^-6 - #*t^-3]} & /@ a, {t, 1, 10}], 
 AspectRatio -> 1/2, PlotRange -> {{-1, 4}, {0, 1.2}}, 
 AxesOrigin -> {-1, 0}, 
 PlotLegends -> 
  Placed[{"s/G=0", "s/G=1", "s/G=2", "s/G=3", "s/G=4", "s/G=5"}, 
   Right]]

 

分类:绘图 | 用户: 小年哥哥 (21 分)
修改于 用户:小年哥哥
请参考ParametricPlot的帮助文档的“可能存在的问题”。
明白了,问题解决,谢谢苹果老师^_^
既然自己解决了,建议最好把解决方法贴出来,对别人会有帮助。
好的,因为看了苹果老师的回复之后发现解决方法非常简单,之前没有注意到这个细节,只要参看ParametricPlot界面下“可能存在的问题”就能马上明白,所以之前就没有把解决方案贴出来,O(∩_∩)O以后会把解决问题后的方案贴出来的

1个回答

+2 投票

用Evaluate先把绘图函数计算出来就好了:

Clear[k, t, a];
k = 1;
a = {0, 1, 2, 3, 4, 5}
ParametricPlot[
 Evaluate[{Log[10, Sqrt[k (t^6 - 1) + t^8 - t^2 - #*t^5]], 
     Sqrt[k (t^-2 - t^-8) + 1 - t^-6 - #*t^-3]} & /@ a], {t, 1, 10}, 
 AspectRatio -> 1/2, PlotRange -> {{0, 5}, {0, 1.2}}]

 

用户: 野鹤 (5.1k 分)
...