Mathematica - legenda
Mathematica - legenda
Narisal sem graf z dvema krivuljama, sedaj pa bi jih rad označil. Gledal sem opcijo PlotLegends, pa za Plot funkcijo dela, za ListPlot (to kar rabim) pa ne. Javi mi "Unknown option PlotLegend in ListPlot" (PlotLegends` sem dodal). Je moče še kaka druga opcija da označim krivulje na grafu?
Re: Mathematica - legenda
Ali ti sample, ki ga lahko skopiraš s povezave, ki si jo dodal, dela?
Re: Mathematica - legenda
Prvi ja, drugi pa ne. Rabim pa drugega (ListPlot).
Re: Mathematica - legenda
Katero različico Mathematice pa uporabljaš?
Re: Mathematica - legenda
6, a tebi deluje?
Re: Mathematica - legenda
Uporabljam 7, deluje pri obeh primerih.
Re: Mathematica - legenda
Hvala, bom posodobil program.
Re: Mathematica - legenda
Bom kar tukaj nadaljeval... Rad bi narisal graf s funkcijo Plot. Grafu bi rad narisal okvir (Frame -> True), ampak brez številk - samo črtice za razdelke bi rad. Mogoče kdo ve kako to lahko naredim (v helpu mi ni uspelo najti)?
Re: Mathematica - legenda
Bojim se da ni lepe resitve in moras podat kar polozaje crtic z eksplicitno podano prazno oznako (kar pa pomeni da nimas vec avtomatskega pozicioniranja oznak - lahko seveda napises funkcijo ki jih dela ampak se vedno ni cisto avtomatsko). Da se bolj profesionalno naredit ampak to bi zahtevalo resne akrobacije.
Cudno je da ni neke lepe komande za to stvar (ali je pa zelo zelo skrita).
Tale primer pove vse (za x os po svoje - malo tega, malo drugega, za y os recimo pa avtomatsko):
Cudno je da ni neke lepe komande za to stvar (ali je pa zelo zelo skrita).
Tale primer pove vse (za x os po svoje - malo tega, malo drugega, za y os recimo pa avtomatsko):
Koda: Izberi vse
Plot[Sin[x], {x, -10, 10}, Frame -> True, FrameTicks -> {{{-3, ""}, {2, ""}, {7, "lol"},9}, Automatic}]
Re: Mathematica - legenda
Hvala, sem rešil kot si predlagal.
Sedaj imam pa še en majhen problemček... imam nek graf, na katerega sem s pomočjo orodij za risanje (najdeš jih lahko pod Graphics -> DrawingTools) narisal puščice, tekst, in še nekaj stvari. Problem je, da če popravim začetne podatke, in želim nov graf, mi nariše spet prazen graf in moram zopet vse na novo risat, kar je kar nadležno. Skopirat iz enega grafa na drugega pa se ne da/ne znam. Mogoče kdo ve kako bi lahko obdržal moje risanje po grafu in spreminjal samo graf?
Sedaj imam pa še en majhen problemček... imam nek graf, na katerega sem s pomočjo orodij za risanje (najdeš jih lahko pod Graphics -> DrawingTools) narisal puščice, tekst, in še nekaj stvari. Problem je, da če popravim začetne podatke, in želim nov graf, mi nariše spet prazen graf in moram zopet vse na novo risat, kar je kar nadležno. Skopirat iz enega grafa na drugega pa se ne da/ne znam. Mogoče kdo ve kako bi lahko obdržal moje risanje po grafu in spreminjal samo graf?
Re: Mathematica - legenda
Da ugotovis strukturo objekta Graphics in Plot lahko uporabis na tej grafiki FullForm[]. To ti da precej solate... vendar je notri tudi tvoje risanje.
Najlazje bo, ce oznacis celico s sliko, pred njo vpises graph= ali nekaj podobnega, da bo to popravljeno sliko dalo v spremeljivko.
FullForm[] ti da celotno vsebino objekta. Recimo na enostavnem plotu sinusa dobim
Po blokih sem locil dele: Graphics ima v sebi prvi vse risanje v prvem argumentu kot en velik List (uradno polno ime za {}) in nastavljanje opcij (kup Rule-ov, ki so drugo ime za "->"). Ta prvi del je pri nas sestavljen iz
inicializacije barv, enega velikega kosa ki ga da od sebe Plot in dodatnega kosa, ki so ga vrinili drawing tools. Tega skopiraj v novo spremeljivko in ga lahko potem dodas v naslednji graf kot Epilog (dodatki pri risanju).
Recimo pri nas bi bilo
V prihodnje se pa poskusi izognit rocnemu risanju na graf ker nad tem kot vidis nimas direktne kontrole nad izvorno kodo, ki bi jo lahko popravljal in dajal na druge grafe. Na enak nacin kot tukaj, namrec lahko rises tudi sam direktno iz kode (mogoce je malo okorno dolocit koordinate ampak je nadaljevanje lazje).
Vse skupaj das v Graphics ki stoji samostojno ali ga das pa v epilog grafu. Primer bi bil kar
Graphics-e lahko tudi zdruzujes z
Show[g1,g2,g3,...]
kjer lahko pod ... tudi das nove PlotRange in druge lastnosti, ki ti spremenijo pogoje risanja za ta skupek grafov.
Najlazje bo, ce oznacis celico s sliko, pred njo vpises graph= ali nekaj podobnega, da bo to popravljeno sliko dalo v spremeljivko.
FullForm[] ti da celotno vsebino objekta. Recimo na enostavnem plotu sinusa dobim
Koda: Izberi vse
Graphics[
List[List[List[],List[],List[Hue[0.67`,0.6`,0.6`],
Line[List[List[-0.9999999591836735`,-0.8414709627547404`],blabla,List[0.9807799968889162`,0.8309315936661767`],
List[0.9835257057881672`,0.8324561022550067`],List[0.9890171235866693`,0.8354862805453895`],List[0.989703550811482`,0.8358632832031175`],
List[0.9903899780362948`,0.8362398920168475`],List[0.9917628324859202`,0.8369919274026932`],List[0.9945085413851713`,0.83849126425099`],
List[0.9951949686099841`,0.8388651111984968`],List[0.9958813958347968`,0.8392385628875972`],List[0.9972542502844224`,0.8399842797869103`],
List[0.9979406775092352`,0.8403565446457543`],List[0.9986271047340479`,0.8407284135434548`],List[0.9993135319588606`,0.841099886304794`],
List[0.9999999591836735`,0.8414709627547404`]]]]],
Line[List[List[-0.5494172160122285`,0.5984738204000678`],List[-0.06372408522021544`,0.17620743298227315`],
List[0.7672207891468432`,0.34352052988366344`],List[0.5916690551256336`,-0.3735355996937235`],
List[0.5565587083213919`,-0.5328814062664764`]]]
],
Rule[AspectRatio,Power[GoldenRatio,-1]],Rule[Axes,True],Rule[AxesOrigin,List[0,0]],Rule[PlotRange,List[List[-1,1],List[-0.8414709627547404`,0.8414709627547404`]]],Rule[PlotRangeClipping,True],Rule[PlotRangePadding,List[Scaled[0.02`],Scaled[0.02`]]]]
inicializacije barv, enega velikega kosa ki ga da od sebe Plot in dodatnega kosa, ki so ga vrinili drawing tools. Tega skopiraj v novo spremeljivko in ga lahko potem dodas v naslednji graf kot Epilog (dodatki pri risanju).
Recimo pri nas bi bilo
Koda: Izberi vse
okraski=Line[List[List[-0.5494172160122285`,0.5984738204000678`],List[-0.06372408522021544`,0.17620743298227315`],List[0.7672207891468432`,0.34352052988366344`],List[0.5916690551256336`,-0.3735355996937235`],List[0.5565587083213919`,-0.5328814062664764`]]]
Plot[Cos[x],{x,-2,2},Epilog->Graphics[okraski]]
Vse skupaj das v Graphics ki stoji samostojno ali ga das pa v epilog grafu. Primer bi bil kar
Koda: Izberi vse
Graphics[{
Red,Arrow[{{0, 1}, {2, 0}}],
Green,Thickness[0.01],Line[{{0,0},{0,1},{1,1},{0,1}}]
}]
Show[g1,g2,g3,...]
kjer lahko pod ... tudi das nove PlotRange in druge lastnosti, ki ti spremenijo pogoje risanja za ta skupek grafov.