Re: [問題] ListLinePlot的PlotLegend

看板Mathematica作者 (養花種魚數月亮賞星星)時間13年前 (2011/12/14 22:31), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串4/4 (看更多)
※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言: : 標題: Re: [問題] ListLinePlot的PlotLegend : 時間: Wed Dec 14 20:20:04 2011 : : ※ 引述《enunion (珍惜)》之銘言: : : 請問有人知道再用ListLinePlot時 : : 怎麼弄出一個方塊上面標示什麼顏色代表什麼意思 : : 我試過PlotLegend : : 但是沒用 : : 查ListLinePlot的選項也沒有PlotLegend : : 請問還有什麼方法嗎? : : 感謝~ : : → enunion:亮綠色的線會標成暗綠色 這有辦法解決嗎? 12/14 21:42 : 推 enunion:還是一樣耶 紅色還是會標成紫色 12/14 21:51 Mathematica會自行指定顏色,若要自行指定的話,那要改一下地方 mylegend[plot_Graphics,legend_List]:= Block[{p=plot,l=legend,colortemp,color,Opacitytemp,temp}, (*擷取色彩*) (*判斷是否自行者定顏色*) colortemp=If[Cases[p,RGBColor[a_,b_,c_]:>RGBColor[a,b,c],Infinity]=={}, Cases[p,Hue[a_,b_,c_]:>Hue[a,b,c],Infinity], Cases[p,RGBColor[a_,b_,c_]:>RGBColor[a,b,c],Infinity]]; color=colortemp[[-Length@l;;-1]]; (*配對圖例及色彩*) temp={color[[#]],l[[#]]}&/@Range[Length@color]; (*建立圖例*)Labeled[p, Grid[{Graphics[{#[[1]],Thickness[0.1],Opacity[0.75], Line[{{0,0},{1,0}}]},ImageSize->{24,24}, AspectRatio->8/24,ImagePadding->0],#[[2]]}&/@ temp], (*指定圖例位置*){{Right,Top}}] ] mylegend[ListLinePlot[Table[Accumulate[RandomReal[{-1,1},250]],{3}], Filling->0,PlotStyle->{Red,Blue,Green}], {"a","b","c"}] 你會發現在沒有Filling這個Option時圖形很OK,但是加上Filling後,圖形就很不協調 而且當數列多時,顏色也是很難選擇,那不如就交由系統指定來得方便! -- 養花種魚數月亮賞星星 http://chungyuandye.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.134.231

12/14 22:45, , 1F
這樣就可以了~ 不過不懂指令為什麼這樣寫XD
12/14 22:45, 1F

12/14 22:46, , 2F
如果要自學的話 有推薦的書單嗎?
12/14 22:46, 2F
文章代碼(AID): #1EwBDKVY (Mathematica)
文章代碼(AID): #1EwBDKVY (Mathematica)