24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 1505  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kabaisun

专家顾问 (正式写手)

[求助] mathematica中ContourPlot函数绘图 legend不能显示已有1人参与

以下代码绘制一个流网图,想把两个函数名用标签显示出来,但是使用PlotLegends指定后不能显示是为什么?
代码如下:
ContourPlot[{1.5 x^2 + 2 x y - 1.5 y^2, x^2 - 3 x y - y^2}/5, {x, -10,
   10}, {y, -10, 10}, ContourStyle -> {Red, Dashed}, Frame -> False,
Axes -> True, ContourShading -> None,
PlotLegends -> {"\[Psi](x,y)", "\[Phi](x,y)"}]

mathematica中ContourPlot函数绘图 legend不能显示
QQ五笔截图未命名.jpg
回复此楼
严实诚勇
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

引用回帖:
7楼: Originally posted by NicoleLas at 2015-01-07 16:28:58
bug?
  运行你的代码画出三幅图,两个单独的和一个整体的;运行楼主的代码画出符合好要求的图。...

啊,你说的是2楼的第2段代码吧。因为我感觉从楼主的叙述来看,第二段代码给出的最后一幅图才是她所需要的,所以就附在那里了。从她刚发的新提问来看,我的猜测是正确的。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
10楼2015-01-07 18:10:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
kabaisun: 金币+10, ★★★★★最佳答案, 谢谢您呀,很中肯,我现在看明白了。 2015-01-07 15:22:28
应该是版本9及更早版本的Bug,刚在Wolfram Cloud上试了一下,完全正常:
mathematica中ContourPlot函数绘图 legend不能显示-1
不过我感觉楼主的图没画对吧。因为你这其实……总之,感觉楼主想要的其实是这个:
CODE:
ContourPlot[{1.5 x^2 + 2 x y - 1.5 y^2}/5, {x, -10,10}, {y, -10, 10}, ContourStyle -> {Red}, Frame -> False,Axes -> True, ContourShading -> None,PlotLegends -> {"\[Psi](x,y)"}]
ContourPlot[{x^2 - 3 x y - y^2}/5, {x, -10,10}, {y, -10, 10}, ContourStyle -> {Dashed}, Frame -> False,Axes -> True, ContourShading -> None,PlotLegends -> { "\[Phi](x,y)"}]
Show[%%,%]

mathematica中ContourPlot函数绘图 legend不能显示-2
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
2楼2015-01-07 15:07:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

NicoleLas

木虫 (正式写手)

你的代码在Mathematica 10上运行符合你的要求,如果是软件问题,可以考虑更换版本。
Be water, my friend.
3楼2015-01-07 15:17:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

……仔细一看发现版本10好像还是有点Bug。(虚线没出来……)而且考虑到楼主可能暂时不想装既没出中文版Bug也还比较多的版本10也可能不想用好卡好卡的Wolfram Cloud,这里给出一个版本9的变通方法:
CODE:
contour[expr_, color_] :=
ContourPlot[expr, {x, -10, 10}, {y, -10, 10}, ContourStyle -> color,
  ContourShading -> None]

Show@MapThread[
   contour, {{1.5 x^2 + 2 x y - 1.5 y^2, x^2 - 3 x y - y^2}/5, {Red,
     Dashed}}] /.
Graphics[a__] :>
  Legended[Graphics[a],
   Placed[LineLegend[{Red, Dashed}, {"\[Psi](x,y)", "\[Phi](x,y)"}],
    After]]

mathematica中ContourPlot函数绘图 legend不能显示-3
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
4楼2015-01-07 15:20:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见