Fixing the legend
- To: mathgroup at smc.vnet.net
- Subject: [mg39088] Fixing the legend
- From: sergio_r at mail.com (Sergio Rojas)
- Date: Wed, 29 Jan 2003 03:35:39 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Hello folks, How can one make the symbols labeling in the legend of the following plot to fix inside the surrounding box? Would it be possible to turn off the symbols labeling for the 3rd. and 4th. lines, where no legend is assigned? (*--------------------------------------------------------------------------*) Needs["Graphics`MultipleListPlot`"]; Needs["Graphics`Legend`"]; Clear[getPlotInfo]; getPlotInfo[data_,x_] := Module[{l2Norm, l2NormToPlot, maxNorm, maxNormToPlot, h , hMin, hMax, yl2, l2NormFitedData}, l2NormToPlot = Table[{ h[i]=data[[i]][[2]], l2Norm[i]=data[[i]][[3]]}, {i,1,Length[data]}]; maxNormToPlot = Table[{ data[[i]][[2]], maxNorm[i]=data[[i]][[4]]}, {i,1,Length[data]}]; h = Log[Table[h[i],{i,1,Length[data]}]]; hMin = Min[h]; hMax = Max[h]; l2Norm = Table[l2Norm[i],{i,1,Length[data]}]; maxNorm = Table[maxNorm[i],{i,1,Length[data]}]; yl2[x1_] := Evaluate[Fit[Log[l2NormToPlot], {1,x1}, x1]]; l2NormFitedData = Table[{i,yl2[i]},{i,hMin,hMax,(hMax-hMin)/20}]; Return[{Log[l2NormToPlot], l2NormFitedData, yl2[x] }]]; dataM1 = {{5., 0.25, 0.00217807, 0.00325421}, {10., 0.111111, 0.00042537099999999996, 0.000712573}, {20., 0.0526316, 0.0000934578, 0.000167083}, {40., 0.025640999999999997, 0.000021898399999999997, 0.0000404748}, {80., 0.0126582, 5.300360000000001*^-6, 9.961790000000001*^-6}}; dataM2 = {{5., 0.25, 0.00880884, 0.010398000000000001}, {10., 0.111111, 0.00190426, 0.00209391}, {20., 0.0526316, 0.000442025, 0.000473797}, {40., 0.025640999999999997, 0.00010649599999999999, 0.00011289800000000002}, {80., 0.0126582, 0.0000261382, 0.000027567}}; Clear[M1LogPlotData, M1FitData, Mi2aFit, leg1, y]; {M1LogPlotData, M1FitData, Mi2aFit} = getPlotInfo[dataM1, y]; leg1=StringJoin["Methods 2-2-2 fit: ", ToString[StringForm["`1`",Mi2aFit /. y -> Ln[x]]]] Clear[M2LogPlotData, M2FitData, MiSOFit, leg2, y]; {M2LogPlotData, M2FitData, MiSOFit} = getPlotInfo[dataM2, y]; leg2=StringJoin["Methods 1-2-1 fit: ", ToString[StringForm["`1`",MiSOFit /. y -> Ln[x]]]] Clear[sym1,sym2]; sym1 = PlotSymbol[Box,2] sym2 = PlotSymbol[Star,4] Clear[thePlot]; thePlot := MultipleListPlot[M1LogPlotData, M1FitData, M2LogPlotData, M2FitData, PlotJoined -> {False, True, False, True}, SymbolShape -> {sym1, None, sym2, None}, Axes -> False, Frame -> True, FrameLabel -> {"Ln(x)", "Ln(y)", "Fitting Test", "Test 1"}, PlotLegend -> {leg1, "", leg2, "" }, LegendSize -> {1.5, .3}, (* LegendBorder -> 0, LegendLabelSpace->.5, LegendTextOffset -> {{-1,0},{-1,0},{-1,0},{-1,0}}, LegendTextOffset -> {3,0}, *) LegendPosition -> {-.8, -1} ]; Show[thePlot] Sergio