plotting – Put two symbols in a legend at the same time

If I have the following data:

lengthscale1SB = {{0, 3.8070469267093143`}, {0, 
    3.6334805550267246`}, {0, 3.5421004645025067`}, {0, 
    3.1777415559882036`}, {0, 3.5382988573632863`}, {0, 
    2.8210206229841543`}};

Which plotted like:

qDSClabel = {"1 K/min", "2 K/min", "5 K/min", "10 K/min", "20 K/min", 
   "30 K/min"};

ListPlot(List /@ lengthscale1SB, Frame -> True, FrameStyle -> 16, 
 Axes -> False, GridLines -> Automatic, 
 GridLinesStyle -> Lighter(Gray, .8), 
 FrameTicks -> {Automatic, Automatic}, 
 FrameLabel -> (Style(#, 20, Bold) & /@ {"y", 
     Row({"x", " (", " units)"})}), ImageSize -> Large, 
 LabelStyle -> {Black, Bold, 14}, 
 PlotStyle -> {Red, Blue, Darker(Green), Black, Cyan, Gray}, 
 PlotLegends -> Placed(Defer /@ qDSClabel, {0.1, 0.25}))

gives:

enter image description here

Questions

How can I put two symbols in the legend? For example, right now it is “circle” 1 K/min, “circle” 2 K/min and so on. So, specifically, how can I put something like “cirle” “triangle” 1 K/min and so on?. Can this be done easily modifying slightly: PlotLegends -> Placed(Defer /@ qDSClabel, {0.1, 0.25})?

data – Visualisation Legend Scrollable or alternative solution?

The data visualisations that I am working with could have up to 20 categories in the legend, which presents a problem. This is due to visuals been inside a card with a fixed height.

As a result I am trying to think of a solution for handling the categories…..one option is to have a scrollable legend. I was wondering if someone from community has a better solution?

Cheers,

Chris

Legend 777 – Legend777.net

I’m not admin.

New project: Legend 777

QUOTE

Our program is intended for people willing to achieve their financial freedom but unable to do so because they’re not financial experts.
Legend 777 is a long term high yield private loan program, backed up by Forex market trading and investing in various funds and activities. Profits from these investments are used to enhance our program and increase its stability for the long term.

Start Dec 29, 2020

Plans:

QUOTE

2% WEEKLY FOR 777 DAYS
Plan Spent Amount ($) Weekly Profit (%)
L777 $77.00 and more 2.00

VIP 777% AFTER 17 DAYS
Plan Spent Amount ($) Profit (%)
VIP777 $50000.00 and more 777.00

VIP 7777% AFTER 177 DAYS
Plan Spent Amount ($) Profit (%)
VIP7777 $20000.00 and more 7777.00

-We accept: Perfect Money
-Dedicated DDoS protected Server – DDoS-Guard
-SSL – Let’s Encrypt
-Referral commission: 0.77%
-Domain purchased for 7 years
-License GC
-Manual Withdraw

QUOTE

Check GoldCoders’ HYIP Manager License
legend777.netLicensed

Link to view and register ==>>>

Im in and support here later:
Date : 12/29/2020 13:21
From/To Account : U26631345
Amount : -100.00
Currency : USD
Batch : 357919044
Memo : Shopping Cart Payment. Deposit to Legend 777 User richinvestmonitor.

Legend 777 – Legend777.net

I’m not admin here!

QUOTE

Our program is intended for people willing to achieve their financial freedom but unable to do so because they’re not financial experts.
Legend 777 is a long term high yield private loan program, backed up by Forex market trading and investing in various funds and activities. Profits from these investments are used to enhance our program and increase its stability for the long term.

Reduced Size Image

2% WEEKLY FOR 777 DAYS
Plan Spent Amount ($) Weekly Profit (%)
L 777 $77.00 and more 2.00

VIP 777% AFTER 17 DAYS
Plan Spent Amount ($) Profit (%)
VIP 777 $50000.00 and more 777.00

VIP 7777% AFTER 177 DAYS
Plan Spent Amount ($) Profit (%)
VIP 7777 $20000.00 and more 7777.00

QUOTE

SSL Encryption
DDos Protection
Licensed Script
Registrar NAMECHEAP INC
Created on 2020-12-29
Expires on 2027-12-29
Updated on 0000-12-31
NS NS1.DDOS-GUARD.NET NS2.DDOS-GUARD.NET
NS3.DDOS-GUARD.NET NS4.DDOS-GUARD.NET
NS5.DDOS-GUARD.NET NS6.DDOS-GUARD.NET

Accept: PM,….

Join here: https://legend777.net/

customizatoin plotting a set of data all at once with multiple line legend

I have a dataset like as follows:
I want to plot it and have done the following way, Its working, but main problem is that I could not control the legends. I want to change the interval between two legends and break the legends into two columns for clear visualization. Can anyone please help me?

    data={{{409,63},{420,65},{440,70},{460,73},{480,71},{510,70}},{{409,63},{420,66},{440,76},{460,81},{480,74},{510,79}},{{409,67},{420,62},{440,72},{460,75},{480,82},{510,71}},{{409,66},{420,64},{440,74},{460,75},{480,74},{510,77}},{{409,83},{420,75},{440,72},{460,74},{480,74},{510,77}},{{409,83},{420,75},{440,74},{460,75},{480,71},{510,77}},{{409,73},{420,60},{440,70},{460,73},{480,72},{510,78}},{{409,73},{420,62},{440,78},{460,73},{480,73},{510,60}},{{409,80},{420,69},{440,72},{460,74},{480,77},{510,75}}};
    ticks(minimum_, maximum_, interval_, length_, label_, digits_, 
   decimaldigs_) := 
  Module({maxCount, Ticks}, 
   maxCount = Floor(((maximum - minimum)/interval));
   If(label == 1, 
    Ticks = Table({minimum + (interval*j), 
       If(IntegerQ(#), #, 
          NumberForm(#, {digits, 
            decimaldigs})) &@(minimum + (interval*j)), {length, 
        0}}, {j, 0, maxCount}), 
    Ticks = Table({minimum + (interval*j), "", {length, 0}}, {j, 0, 
       maxCount}));
   Join(Ticks));

    ticklength = .0120;
ticksleft = ticks(40, 90, 10, ticklength, 1, 6, 0);
ticksdown = ticks(400, 550, 50, ticklength, 1, 3, 0);

    legend = {lex, Q - 0.05, , Q - 0.1, , Q - 0.15, , Q - 0.25, , Q - 0.3, , 
  Q - 0.4, , Q - 0.6, , Q - 0.8, , Q - 1.0};

    plotmarker = {(FilledCircle), (FilledDownTriangle), 
(FilledUpTriangle), (FilledSquare), (FilledDiamond), 
(SixPointedStar), (FivePointedStar), (BeamedEighthNote), 
(EighthNote)};

    color = {Hue(0, 1, 0), Hue(0.7, 1, 1), Hue(0.5, 1, 1), 
  Hue(0.4, 0.2, 1), Hue(0.35, 0.6, 1), Hue(0.15, 1, 1), 
  Hue(0.9, 0.2, 1), Hue(0.1, 1, 1), Hue(0.0, 0.6, 1), Hue(0, 1, 1)};

    legendmarker = {Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(FilledCircle)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(FilledDownTriangle)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(FilledUpTriangle)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(FilledSquare)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(FilledDiamond)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(SixPointedStar)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(FivePointedStar)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(BeamedEighthNote)", {0, 0})}), 
   Graphics({Line({{-0.077, 0}, {0.07, 0}}), 
     Text("(EighthNote)", {0, 0})})};
    plot = Show(
  Table(ListLinePlot(
    Transpose({Select(
       Drop(PadRight(datafile, {Automatic, Automatic}, "NA"), 1)((All,
         2*i - 1)), NumberQ), 
      Select(Drop(PadRight(datafile, {Automatic, Automatic}, "NA"), 
         1)((All, 2*i)), NumberQ)}), 
    PlotLegends -> 
     Placed(SwatchLegend({legend((2*i))}, 
       LegendMarkers -> legendmarker((i)), LegendMarkerSize -> 5, 
       LegendLayout -> {"Column", 2}), {0.9, 0.4}), 
    PlotStyle -> {Dashing({.0071, 0.015}), color((i))}, 
    PlotMarkers -> {plotmarker((i)), 15} , Frame -> True, 
    FrameStyle -> Directive(Black, Thickness(0.004)), 
    FrameLabel -> {Style(
       "!(*SubscriptBox(((Lambda)), (ex))) (nm)", Black, 
       FontFamily -> "Times New Roman", FontSize -> 16), 
      Style("!(*SubscriptBox((A), (2)))", Black, 
       FontFamily -> "Times", FontSize -> 16)}, 
    PlotRange -> {{400, 550}, {45, 90}}, 
    FrameTicks -> {{ticksleft, None}, {ticksdown, None}}, 
    ImageSize -> 500, 
    BaseStyle -> {FontFamily -> "Times", FontSize -> 10}), {i, 1, 
    Length(data)}))

Thank you in advance!

graphics – Opacity gradient in custom legend

You can use a list of colors with desired opacities as option value for "ColorScheme". For example,

colorscheme = Append[ColorData["DarkRainbow"]@#, .01 + #] & /@ Subdivide[10];

Graphics[ChartElementData["GradientRectangle", 
   "ColorScheme" -> colorscheme,  "GradientOrigin" -> Left][{{0, 15}, {0, 2}}]]

enter image description here

You can also use colorsheme with LinearGradientImage:

LinearGradientImage[{Left, Right} -> colorscheme, {360, 40}]

enter image description here

with BarLegend:

BarLegend[{Blend[colorscheme, #] &, {0, 1}}, 
   LegendMarkerSize -> {400, 40}, LegendLayout -> "Row"]

enter image description here

and as VertexColors for Line primitives:

Graphics[{AbsoluteThickness[40], 
  Line[{15 #, 0} & /@ Subdivide[Length@colorscheme - 1], 
   VertexColors -> colorscheme]}, PlotRange -> {{0, 15}, {-1, 1}}]

enter image description here

Addendum: A function to add opacity to gradient color schemes:

addOpacity = Module[{colors = DataPaclets`ColorData`GetBlendArgument[#]},
    MapIndexed[Append[#, #2[[1]]/Length[colors]] &, colors]] &;

Examples:

SeedRandom[7]
gradientschemes = RandomSample[ColorData["Gradients"], 7];

graphics = Graphics[ChartElementData["GradientRectangle", 
      "GradientOrigin" -> Bottom, "ColorScheme" -> #][{{0, 2}, {0, 15}}], 
    ImageSize -> {40, 300}] &;

Row[Labeled[Row[{graphics @ #, graphics @ addOpacity @ #}], #, Top] & /@ 
  gradientschemes, Spacer[10]]

enter image description here

Row[Labeled[Row[BarLegend[{Function[x, Blend[#, x]], {0, 1}}, 
    LegendMarkerSize -> {30, 300}] & /@ {#, addOpacity @ #}], #, 
    Top] & /@ gradientschemes, Spacer[10]]

enter image description here

Style[Row[Labeled[Row[
      LinearGradientImage[{Bottom, Top} -> #, {30, 300}] & /@ 
      {#, addOpacity@#}, Spacer[5]], #, Top] & /@ gradientschemes, 
   Spacer[10]], 
 ImageSizeMultipliers -> {1, 1}]

enter image description here

eps format – Save out plot and plot legend

I am attempting to save out a plot to .eps file, but cannot get the legend to come with it. Copying and pasting the image, saving as a JPEG and converting to .eps loses too much resolution for it too look good. Is there any way that I can save out a plot with its legend directly to .eps from Mathematica?

Line chart – do you add a legend to one variable data visualisation?

Stack Exchange Network


Stack Exchange network consists of 176 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

How to change the legend entries in micrososft word chart?

I can’t change the legends in my micrososft word (Office 365) chart. I got the doc by mail from an other person so i don’ have the original excel table. When i click on edit data it says it could’t find the source file but nothing else.I want to change the labels in the red circle. Ignore the hungarian language.
How can i change it with only the word file?

plotting – It is possible to change the legend and the style of various plot inside the ‘show’?

I have a 2-variable function (which is not zt^2) that requires a lot of processing to plot. It would be very suitable for me if I could use the Plotstyle and Plotlegends for the various 2D plot of my 3D function on the ‘Show’ command, so I could edit it without having to plot again the graph and wait a long time for it.
I’m currently using something like the code below, illustrating my problem.

plottz = Plot(
   Evaluate@Table(z t^2, {t, {.5, .6, .7, .8, 1}}), {z, 0, 5}, 
   PlotStyle -> {Dashing({.01, .02}), Dashing({.02, .02}), 
     Dashing({.04, .02}), Dashing({.06, .01}), Dashing({5, .0})}, 
   PlotLegends -> 
    Placed(LineLegend({"t = .5 h", "t = .6 h", "t = .7 h", "t = .8 h",
        "t = 1 h"}, LabelStyle -> 10), {.3, .7}));
Show(plottz, PlotRange -> All)