Re: [問題] 如何將兩種不同類形的圖畫在同一張
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間12年前 (2012/04/17 22:45)推噓2(2推 0噓 1→)留言3則, 2人參與討論串2/2 (看更多)
※ 引述《wope (獨立黑色色彩)》之銘言:
: 標題: [問題] 如何將兩種不同類形的圖畫在同一張
: 時間: Mon Apr 16 09:32:43 2012
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 220.133.104.111
: 推 qoodeva:show?? 04/16 10:10
: 推 jurian0101:show 04/16 11:17
: → wope:感謝樓上兩位~~謝謝 04/16 12:01
: 推 qoodeva:可是用show沒辦法去改變線條格式喔 04/17 10:23
: → wope:對了 想請問qoo大 Contourplot的colorbar如何叫出來? 04/17 12:15
: 推 qoodeva:哈哈,你問倒我了,這個我不會XDD 04/17 16:42
color bar
colorbarplot[fun_,xrange_List,yrange_List,color_String]:=
Block[{tt,myvalue,mycolor,colorbar,myticks,mycolorbar},
(* ContourPlot *)
tt=ContourPlot[fun,{x,xrange[[1]],xrange[[2]]},{y,yrange[[1]],yrange[[2]]},
ColorFunction->color];
(* 取出ContoourPlot所有等高線的值 *)
myvalue=Cases[tt,Tooltip[pts__,v_]:>v,Infinity];
(* 取出ContoourPlot所有等高線的顏色 *)
mycolor=Cases[tt,RGBColor[a_,b_,c_],Infinity];
(* 建立color bar *)
colorbar=
Flatten[{mycolor[[#+1]],Rectangle[{0,#},{1,#+1}]}&/@
Range[0,Length@myvalue]];
myticks=
Transpose[{Reverse@Range[0,Length@myvalue+1],
Flatten@{myvalue[[1]]+myvalue[[1]]-myvalue[[2]],myvalue,
myvalue[[-1]]-myvalue[[1]]+myvalue[[2]]}}];
mycolorbar=Plot[0,{x,0,1},
Axes->None,
Frame->{{None,True},{None,None}},
FrameTicks->{{None,myticks},{None,None}},
Epilog->colorbar,
PlotRange->{{0,1},{0,Length@myvalue+1}},
AspectRatio->Length@myvalue+1];
(* 將ContoourPlot以及color bar合併 *)
Labeled[tt,mycolorbar,{Right}]
]
colorbarplot[x^2 + y^2, {-2 Pi, 2 Pi}, {-2 Pi, 2 Pi}, "Rainbow"]
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.134.159
推
04/18 03:38, , 1F
04/18 03:38, 1F
推
04/18 11:34, , 2F
04/18 11:34, 2F
→
04/18 11:34, , 3F
04/18 11:34, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章