Adjusting bounding box of PlotLegends in TimelinePlotHow to raise the LegendLayout “Row” sizePrevent manipulations in PlotLegendsLabelStyle doesn't affect PlotLegendsUsing PlotLegendsPlotLegends questionPlotLegends is obsolete in v10?inset legend from top right corner / find size of swatchlegend bounding boxPlotLegends in 4D plotPlotLegends and ColorConvert interact badlyPlotLegends for six curvesSpacings of rows in PlotLegends
Gerrymandering Puzzle - Rig the Election
Has a commercial or military jet bi-plane ever been manufactured?
Is “snitty” a popular American English term? What is its origin?
Why does this derived table improve performance?
Python 3 - simple temperature program
Do publishers care if submitted work has already been copyrighted?
How to safely wipe a USB flash drive
How can I roleplay a follower-type character when I as a player have a leader-type personality?
Why aren't nationalizations in Russia described as socialist?
Find the cheapest shipping option based on item weight
Are there any of the Children of the Forest left, or are they extinct?
Can a Tiefling have more than two horns?
How can internet speed be 10 times slower without a router than when using a router?
I need a disease
What was Bran's plan to kill the Night King?
Do I add modifiers to the Charisma check roll of 15 granted by the Glibness spell?
Out of scope work duties and resignation
How did the Venus Express detect lightning?
What are the advantages of luxury car brands like Acura/Lexus over their sibling non-luxury brands Honda/Toyota?
A factorization game
Is there a word for food that's gone 'bad', but is still edible?
Emotional immaturity of comic-book version of superhero Shazam
Refinish or replace an old staircase
How do inspiraling black holes get closer?
Adjusting bounding box of PlotLegends in TimelinePlot
How to raise the LegendLayout “Row” sizePrevent manipulations in PlotLegendsLabelStyle doesn't affect PlotLegendsUsing PlotLegendsPlotLegends questionPlotLegends is obsolete in v10?inset legend from top right corner / find size of swatchlegend bounding boxPlotLegends in 4D plotPlotLegends and ColorConvert interact badlyPlotLegends for six curvesSpacings of rows in PlotLegends
$begingroup$
I'd like to align the elements of the PlotLegend
in a single horizontal row beneath the TimelinePlot
, as there is plenty of room for that (especially when I adjust the Size
to be large). Instead the internal algorithms pack the PlotLegends
into three rows in this case.
How to fix that?
TimelinePlot[
"Pablo Picasso" -> Interval["1881", "1973"]
,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black,
PlotLegends ->
Placed[Text[Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]],
Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center]
legending
$endgroup$
add a comment |
$begingroup$
I'd like to align the elements of the PlotLegend
in a single horizontal row beneath the TimelinePlot
, as there is plenty of room for that (especially when I adjust the Size
to be large). Instead the internal algorithms pack the PlotLegends
into three rows in this case.
How to fix that?
TimelinePlot[
"Pablo Picasso" -> Interval["1881", "1973"]
,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black,
PlotLegends ->
Placed[Text[Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]],
Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center]
legending
$endgroup$
1
$begingroup$
If the legend is to indicate nationality, then it should be „Dutch“ for de Heem. Also the curator of knowledge in the WL should be told that „Davidsz.“ is an abbreviation for „Davidszoon“ - so there is a period missing.
$endgroup$
– gwr
Mar 20 at 13:11
add a comment |
$begingroup$
I'd like to align the elements of the PlotLegend
in a single horizontal row beneath the TimelinePlot
, as there is plenty of room for that (especially when I adjust the Size
to be large). Instead the internal algorithms pack the PlotLegends
into three rows in this case.
How to fix that?
TimelinePlot[
"Pablo Picasso" -> Interval["1881", "1973"]
,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black,
PlotLegends ->
Placed[Text[Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]],
Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center]
legending
$endgroup$
I'd like to align the elements of the PlotLegend
in a single horizontal row beneath the TimelinePlot
, as there is plenty of room for that (especially when I adjust the Size
to be large). Instead the internal algorithms pack the PlotLegends
into three rows in this case.
How to fix that?
TimelinePlot[
"Pablo Picasso" -> Interval["1881", "1973"]
,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black,
PlotLegends ->
Placed[Text[Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]],
Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center]
legending
legending
asked Mar 20 at 8:40
David G. StorkDavid G. Stork
25k22155
25k22155
1
$begingroup$
If the legend is to indicate nationality, then it should be „Dutch“ for de Heem. Also the curator of knowledge in the WL should be told that „Davidsz.“ is an abbreviation for „Davidszoon“ - so there is a period missing.
$endgroup$
– gwr
Mar 20 at 13:11
add a comment |
1
$begingroup$
If the legend is to indicate nationality, then it should be „Dutch“ for de Heem. Also the curator of knowledge in the WL should be told that „Davidsz.“ is an abbreviation for „Davidszoon“ - so there is a period missing.
$endgroup$
– gwr
Mar 20 at 13:11
1
1
$begingroup$
If the legend is to indicate nationality, then it should be „Dutch“ for de Heem. Also the curator of knowledge in the WL should be told that „Davidsz.“ is an abbreviation for „Davidszoon“ - so there is a period missing.
$endgroup$
– gwr
Mar 20 at 13:11
$begingroup$
If the legend is to indicate nationality, then it should be „Dutch“ for de Heem. Also the curator of knowledge in the WL should be told that „Davidsz.“ is an abbreviation for „Davidszoon“ - so there is a period missing.
$endgroup$
– gwr
Mar 20 at 13:11
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
You can do this by Legended
ing the plot itself and then using LegendLayout
:
tlp = TimelinePlot[>, <,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black, AspectRatio -> 1/2, PlotLayout -> "Packed",
Background -> LightGray, ImageSize -> 600, AxesOrigin -> Center]
Now we add our legend. Note the LegendLayout
function:
Legended[tlp,
Placed[
LineLegend[Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
"Italian",
"French", "American", "British", "Flemish", "Spanish",
"Japanese",
LabelStyle -> 16, Italic, FontFamily -> "Times",
LegendLayout -> (Row[Row[#, Spacer[1]] & /@ #, Spacer[7]] &),
LegendMargins -> 0], Below]]
Resulting in:
I'm sure there's a more elegant way to do this than creating nested Row
s, but I'm afraid I don't have the time to have a look.
$endgroup$
add a comment |
$begingroup$
Just a slightly different take for readability avoiding Slot
, using Riffle
for the Spacers
and constructing the graphics with centralized components (e.g. using With
):
With[
data =
"Thomas Gainsborough" -> Interval["1727", "1788"]
, colors = Red, Orange, Darker[Yellow], Green, Blue, Purple, Black
, styleFunc = Function[ text,
Style[ text, 16, Italic, FontFamily -> "Times"]
]
, labels = "Italian", "French", "American", "British", "Flemish", "Spanish", "Japanese"
, layoutFunc = Function[ pairs, (* pairs = col1, lbl1, ... *)
pairs // RightComposition[
Flatten
, Curry[Riffle][Spacer[2] (* after color *), Spacer[10] (* between labels *) ]
, Row
]
]
,
TimelinePlot[ data
, PlotStyle -> colors
, AxesOrigin -> Center
, AspectRatio -> 1/2
, PlotLegends -> Curry[Placed][Bottom] @ LineLegend[
colors,
styleFunc /@ labels
, LegendLayout -> layoutFunc
, LegendMargins -> 0
]
, PlotLayout -> "Packed"
, Background -> LightGray
, ImageSize -> 600
]
]
$endgroup$
$begingroup$
That's really interesting, it didn't occur to me that you could use currying in this way!
$endgroup$
– Carl Lange
Mar 20 at 13:24
add a comment |
$begingroup$
Per this answer, you can use the option LegendLayout -> "Row", 1
.
data = "Thomas Gainsborough" ->
Interval["1727", "1788"];
labels = Text[
Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]];
TimelinePlot[data,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
PlotLegends -> Placed[LineLegend[labels, LegendLayout -> "Row", 1], Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center
]
$endgroup$
$begingroup$
Cool (+1). So, they had 6 years to finally document this ... and did not?
$endgroup$
– gwr
Mar 20 at 13:31
$begingroup$
That appears to be the case.
$endgroup$
– Chip Hurst
Mar 20 at 13:38
$begingroup$
Aha, this is the real solution! I can't believe this is undocumented. I also have a hard time understanding why they used"Row"
the string rather thanRow
the symbol...
$endgroup$
– Carl Lange
Mar 20 at 13:59
1
$begingroup$
My guess is the string version maintains consistency among other choices like "ReversedRow", etc. In addition,LegendLayout
allows for an arbitrary functionf
and so parsingRow
in this way would create ambiguity.
$endgroup$
– Chip Hurst
Mar 20 at 14:02
3
$begingroup$
Since LineLegend accepts a LabelStyle option, you could simplify things by usingLineLegend[labels, LegendLayout -> "Row", 1, LabelStyle -> 16, Italic, FontFamily -> "Times"]
and dropping all of those Style/Text wrappers in the labels.
$endgroup$
– Carl Woll
Mar 20 at 16:01
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f193622%2fadjusting-bounding-box-of-plotlegends-in-timelineplot%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
You can do this by Legended
ing the plot itself and then using LegendLayout
:
tlp = TimelinePlot[>, <,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black, AspectRatio -> 1/2, PlotLayout -> "Packed",
Background -> LightGray, ImageSize -> 600, AxesOrigin -> Center]
Now we add our legend. Note the LegendLayout
function:
Legended[tlp,
Placed[
LineLegend[Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
"Italian",
"French", "American", "British", "Flemish", "Spanish",
"Japanese",
LabelStyle -> 16, Italic, FontFamily -> "Times",
LegendLayout -> (Row[Row[#, Spacer[1]] & /@ #, Spacer[7]] &),
LegendMargins -> 0], Below]]
Resulting in:
I'm sure there's a more elegant way to do this than creating nested Row
s, but I'm afraid I don't have the time to have a look.
$endgroup$
add a comment |
$begingroup$
You can do this by Legended
ing the plot itself and then using LegendLayout
:
tlp = TimelinePlot[>, <,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black, AspectRatio -> 1/2, PlotLayout -> "Packed",
Background -> LightGray, ImageSize -> 600, AxesOrigin -> Center]
Now we add our legend. Note the LegendLayout
function:
Legended[tlp,
Placed[
LineLegend[Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
"Italian",
"French", "American", "British", "Flemish", "Spanish",
"Japanese",
LabelStyle -> 16, Italic, FontFamily -> "Times",
LegendLayout -> (Row[Row[#, Spacer[1]] & /@ #, Spacer[7]] &),
LegendMargins -> 0], Below]]
Resulting in:
I'm sure there's a more elegant way to do this than creating nested Row
s, but I'm afraid I don't have the time to have a look.
$endgroup$
add a comment |
$begingroup$
You can do this by Legended
ing the plot itself and then using LegendLayout
:
tlp = TimelinePlot[>, <,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black, AspectRatio -> 1/2, PlotLayout -> "Packed",
Background -> LightGray, ImageSize -> 600, AxesOrigin -> Center]
Now we add our legend. Note the LegendLayout
function:
Legended[tlp,
Placed[
LineLegend[Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
"Italian",
"French", "American", "British", "Flemish", "Spanish",
"Japanese",
LabelStyle -> 16, Italic, FontFamily -> "Times",
LegendLayout -> (Row[Row[#, Spacer[1]] & /@ #, Spacer[7]] &),
LegendMargins -> 0], Below]]
Resulting in:
I'm sure there's a more elegant way to do this than creating nested Row
s, but I'm afraid I don't have the time to have a look.
$endgroup$
You can do this by Legended
ing the plot itself and then using LegendLayout
:
tlp = TimelinePlot[>, <,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple,
Black, AspectRatio -> 1/2, PlotLayout -> "Packed",
Background -> LightGray, ImageSize -> 600, AxesOrigin -> Center]
Now we add our legend. Note the LegendLayout
function:
Legended[tlp,
Placed[
LineLegend[Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
"Italian",
"French", "American", "British", "Flemish", "Spanish",
"Japanese",
LabelStyle -> 16, Italic, FontFamily -> "Times",
LegendLayout -> (Row[Row[#, Spacer[1]] & /@ #, Spacer[7]] &),
LegendMargins -> 0], Below]]
Resulting in:
I'm sure there's a more elegant way to do this than creating nested Row
s, but I'm afraid I don't have the time to have a look.
edited Mar 20 at 19:03
answered Mar 20 at 11:12
Carl LangeCarl Lange
5,86411445
5,86411445
add a comment |
add a comment |
$begingroup$
Just a slightly different take for readability avoiding Slot
, using Riffle
for the Spacers
and constructing the graphics with centralized components (e.g. using With
):
With[
data =
"Thomas Gainsborough" -> Interval["1727", "1788"]
, colors = Red, Orange, Darker[Yellow], Green, Blue, Purple, Black
, styleFunc = Function[ text,
Style[ text, 16, Italic, FontFamily -> "Times"]
]
, labels = "Italian", "French", "American", "British", "Flemish", "Spanish", "Japanese"
, layoutFunc = Function[ pairs, (* pairs = col1, lbl1, ... *)
pairs // RightComposition[
Flatten
, Curry[Riffle][Spacer[2] (* after color *), Spacer[10] (* between labels *) ]
, Row
]
]
,
TimelinePlot[ data
, PlotStyle -> colors
, AxesOrigin -> Center
, AspectRatio -> 1/2
, PlotLegends -> Curry[Placed][Bottom] @ LineLegend[
colors,
styleFunc /@ labels
, LegendLayout -> layoutFunc
, LegendMargins -> 0
]
, PlotLayout -> "Packed"
, Background -> LightGray
, ImageSize -> 600
]
]
$endgroup$
$begingroup$
That's really interesting, it didn't occur to me that you could use currying in this way!
$endgroup$
– Carl Lange
Mar 20 at 13:24
add a comment |
$begingroup$
Just a slightly different take for readability avoiding Slot
, using Riffle
for the Spacers
and constructing the graphics with centralized components (e.g. using With
):
With[
data =
"Thomas Gainsborough" -> Interval["1727", "1788"]
, colors = Red, Orange, Darker[Yellow], Green, Blue, Purple, Black
, styleFunc = Function[ text,
Style[ text, 16, Italic, FontFamily -> "Times"]
]
, labels = "Italian", "French", "American", "British", "Flemish", "Spanish", "Japanese"
, layoutFunc = Function[ pairs, (* pairs = col1, lbl1, ... *)
pairs // RightComposition[
Flatten
, Curry[Riffle][Spacer[2] (* after color *), Spacer[10] (* between labels *) ]
, Row
]
]
,
TimelinePlot[ data
, PlotStyle -> colors
, AxesOrigin -> Center
, AspectRatio -> 1/2
, PlotLegends -> Curry[Placed][Bottom] @ LineLegend[
colors,
styleFunc /@ labels
, LegendLayout -> layoutFunc
, LegendMargins -> 0
]
, PlotLayout -> "Packed"
, Background -> LightGray
, ImageSize -> 600
]
]
$endgroup$
$begingroup$
That's really interesting, it didn't occur to me that you could use currying in this way!
$endgroup$
– Carl Lange
Mar 20 at 13:24
add a comment |
$begingroup$
Just a slightly different take for readability avoiding Slot
, using Riffle
for the Spacers
and constructing the graphics with centralized components (e.g. using With
):
With[
data =
"Thomas Gainsborough" -> Interval["1727", "1788"]
, colors = Red, Orange, Darker[Yellow], Green, Blue, Purple, Black
, styleFunc = Function[ text,
Style[ text, 16, Italic, FontFamily -> "Times"]
]
, labels = "Italian", "French", "American", "British", "Flemish", "Spanish", "Japanese"
, layoutFunc = Function[ pairs, (* pairs = col1, lbl1, ... *)
pairs // RightComposition[
Flatten
, Curry[Riffle][Spacer[2] (* after color *), Spacer[10] (* between labels *) ]
, Row
]
]
,
TimelinePlot[ data
, PlotStyle -> colors
, AxesOrigin -> Center
, AspectRatio -> 1/2
, PlotLegends -> Curry[Placed][Bottom] @ LineLegend[
colors,
styleFunc /@ labels
, LegendLayout -> layoutFunc
, LegendMargins -> 0
]
, PlotLayout -> "Packed"
, Background -> LightGray
, ImageSize -> 600
]
]
$endgroup$
Just a slightly different take for readability avoiding Slot
, using Riffle
for the Spacers
and constructing the graphics with centralized components (e.g. using With
):
With[
data =
"Thomas Gainsborough" -> Interval["1727", "1788"]
, colors = Red, Orange, Darker[Yellow], Green, Blue, Purple, Black
, styleFunc = Function[ text,
Style[ text, 16, Italic, FontFamily -> "Times"]
]
, labels = "Italian", "French", "American", "British", "Flemish", "Spanish", "Japanese"
, layoutFunc = Function[ pairs, (* pairs = col1, lbl1, ... *)
pairs // RightComposition[
Flatten
, Curry[Riffle][Spacer[2] (* after color *), Spacer[10] (* between labels *) ]
, Row
]
]
,
TimelinePlot[ data
, PlotStyle -> colors
, AxesOrigin -> Center
, AspectRatio -> 1/2
, PlotLegends -> Curry[Placed][Bottom] @ LineLegend[
colors,
styleFunc /@ labels
, LegendLayout -> layoutFunc
, LegendMargins -> 0
]
, PlotLayout -> "Packed"
, Background -> LightGray
, ImageSize -> 600
]
]
answered Mar 20 at 12:48
gwrgwr
8,82822962
8,82822962
$begingroup$
That's really interesting, it didn't occur to me that you could use currying in this way!
$endgroup$
– Carl Lange
Mar 20 at 13:24
add a comment |
$begingroup$
That's really interesting, it didn't occur to me that you could use currying in this way!
$endgroup$
– Carl Lange
Mar 20 at 13:24
$begingroup$
That's really interesting, it didn't occur to me that you could use currying in this way!
$endgroup$
– Carl Lange
Mar 20 at 13:24
$begingroup$
That's really interesting, it didn't occur to me that you could use currying in this way!
$endgroup$
– Carl Lange
Mar 20 at 13:24
add a comment |
$begingroup$
Per this answer, you can use the option LegendLayout -> "Row", 1
.
data = "Thomas Gainsborough" ->
Interval["1727", "1788"];
labels = Text[
Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]];
TimelinePlot[data,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
PlotLegends -> Placed[LineLegend[labels, LegendLayout -> "Row", 1], Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center
]
$endgroup$
$begingroup$
Cool (+1). So, they had 6 years to finally document this ... and did not?
$endgroup$
– gwr
Mar 20 at 13:31
$begingroup$
That appears to be the case.
$endgroup$
– Chip Hurst
Mar 20 at 13:38
$begingroup$
Aha, this is the real solution! I can't believe this is undocumented. I also have a hard time understanding why they used"Row"
the string rather thanRow
the symbol...
$endgroup$
– Carl Lange
Mar 20 at 13:59
1
$begingroup$
My guess is the string version maintains consistency among other choices like "ReversedRow", etc. In addition,LegendLayout
allows for an arbitrary functionf
and so parsingRow
in this way would create ambiguity.
$endgroup$
– Chip Hurst
Mar 20 at 14:02
3
$begingroup$
Since LineLegend accepts a LabelStyle option, you could simplify things by usingLineLegend[labels, LegendLayout -> "Row", 1, LabelStyle -> 16, Italic, FontFamily -> "Times"]
and dropping all of those Style/Text wrappers in the labels.
$endgroup$
– Carl Woll
Mar 20 at 16:01
add a comment |
$begingroup$
Per this answer, you can use the option LegendLayout -> "Row", 1
.
data = "Thomas Gainsborough" ->
Interval["1727", "1788"];
labels = Text[
Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]];
TimelinePlot[data,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
PlotLegends -> Placed[LineLegend[labels, LegendLayout -> "Row", 1], Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center
]
$endgroup$
$begingroup$
Cool (+1). So, they had 6 years to finally document this ... and did not?
$endgroup$
– gwr
Mar 20 at 13:31
$begingroup$
That appears to be the case.
$endgroup$
– Chip Hurst
Mar 20 at 13:38
$begingroup$
Aha, this is the real solution! I can't believe this is undocumented. I also have a hard time understanding why they used"Row"
the string rather thanRow
the symbol...
$endgroup$
– Carl Lange
Mar 20 at 13:59
1
$begingroup$
My guess is the string version maintains consistency among other choices like "ReversedRow", etc. In addition,LegendLayout
allows for an arbitrary functionf
and so parsingRow
in this way would create ambiguity.
$endgroup$
– Chip Hurst
Mar 20 at 14:02
3
$begingroup$
Since LineLegend accepts a LabelStyle option, you could simplify things by usingLineLegend[labels, LegendLayout -> "Row", 1, LabelStyle -> 16, Italic, FontFamily -> "Times"]
and dropping all of those Style/Text wrappers in the labels.
$endgroup$
– Carl Woll
Mar 20 at 16:01
add a comment |
$begingroup$
Per this answer, you can use the option LegendLayout -> "Row", 1
.
data = "Thomas Gainsborough" ->
Interval["1727", "1788"];
labels = Text[
Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]];
TimelinePlot[data,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
PlotLegends -> Placed[LineLegend[labels, LegendLayout -> "Row", 1], Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center
]
$endgroup$
Per this answer, you can use the option LegendLayout -> "Row", 1
.
data = "Thomas Gainsborough" ->
Interval["1727", "1788"];
labels = Text[
Style["Italian", 16, Italic, FontFamily -> "Times"]],
Text[Style["French", 16, Italic, FontFamily -> "Times"]],
Text[Style["American", 16, Italic, FontFamily -> "Times"]],
Text[Style["British", 16, Italic, FontFamily -> "Times"]],
Text[Style["Flemish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Spanish", 16, Italic, FontFamily -> "Times"]],
Text[Style["Japanese", 16, Italic, FontFamily -> "Times"]];
TimelinePlot[data,
PlotStyle -> Red, Orange, Darker[Yellow], Green, Blue, Purple, Black,
PlotLegends -> Placed[LineLegend[labels, LegendLayout -> "Row", 1], Below],
AspectRatio -> 1/2,
PlotLayout -> "Packed",
Background -> LightGray,
ImageSize -> 600,
AxesOrigin -> Center
]
answered Mar 20 at 13:29
Chip HurstChip Hurst
23.9k15996
23.9k15996
$begingroup$
Cool (+1). So, they had 6 years to finally document this ... and did not?
$endgroup$
– gwr
Mar 20 at 13:31
$begingroup$
That appears to be the case.
$endgroup$
– Chip Hurst
Mar 20 at 13:38
$begingroup$
Aha, this is the real solution! I can't believe this is undocumented. I also have a hard time understanding why they used"Row"
the string rather thanRow
the symbol...
$endgroup$
– Carl Lange
Mar 20 at 13:59
1
$begingroup$
My guess is the string version maintains consistency among other choices like "ReversedRow", etc. In addition,LegendLayout
allows for an arbitrary functionf
and so parsingRow
in this way would create ambiguity.
$endgroup$
– Chip Hurst
Mar 20 at 14:02
3
$begingroup$
Since LineLegend accepts a LabelStyle option, you could simplify things by usingLineLegend[labels, LegendLayout -> "Row", 1, LabelStyle -> 16, Italic, FontFamily -> "Times"]
and dropping all of those Style/Text wrappers in the labels.
$endgroup$
– Carl Woll
Mar 20 at 16:01
add a comment |
$begingroup$
Cool (+1). So, they had 6 years to finally document this ... and did not?
$endgroup$
– gwr
Mar 20 at 13:31
$begingroup$
That appears to be the case.
$endgroup$
– Chip Hurst
Mar 20 at 13:38
$begingroup$
Aha, this is the real solution! I can't believe this is undocumented. I also have a hard time understanding why they used"Row"
the string rather thanRow
the symbol...
$endgroup$
– Carl Lange
Mar 20 at 13:59
1
$begingroup$
My guess is the string version maintains consistency among other choices like "ReversedRow", etc. In addition,LegendLayout
allows for an arbitrary functionf
and so parsingRow
in this way would create ambiguity.
$endgroup$
– Chip Hurst
Mar 20 at 14:02
3
$begingroup$
Since LineLegend accepts a LabelStyle option, you could simplify things by usingLineLegend[labels, LegendLayout -> "Row", 1, LabelStyle -> 16, Italic, FontFamily -> "Times"]
and dropping all of those Style/Text wrappers in the labels.
$endgroup$
– Carl Woll
Mar 20 at 16:01
$begingroup$
Cool (+1). So, they had 6 years to finally document this ... and did not?
$endgroup$
– gwr
Mar 20 at 13:31
$begingroup$
Cool (+1). So, they had 6 years to finally document this ... and did not?
$endgroup$
– gwr
Mar 20 at 13:31
$begingroup$
That appears to be the case.
$endgroup$
– Chip Hurst
Mar 20 at 13:38
$begingroup$
That appears to be the case.
$endgroup$
– Chip Hurst
Mar 20 at 13:38
$begingroup$
Aha, this is the real solution! I can't believe this is undocumented. I also have a hard time understanding why they used
"Row"
the string rather than Row
the symbol...$endgroup$
– Carl Lange
Mar 20 at 13:59
$begingroup$
Aha, this is the real solution! I can't believe this is undocumented. I also have a hard time understanding why they used
"Row"
the string rather than Row
the symbol...$endgroup$
– Carl Lange
Mar 20 at 13:59
1
1
$begingroup$
My guess is the string version maintains consistency among other choices like "ReversedRow", etc. In addition,
LegendLayout
allows for an arbitrary function f
and so parsing Row
in this way would create ambiguity.$endgroup$
– Chip Hurst
Mar 20 at 14:02
$begingroup$
My guess is the string version maintains consistency among other choices like "ReversedRow", etc. In addition,
LegendLayout
allows for an arbitrary function f
and so parsing Row
in this way would create ambiguity.$endgroup$
– Chip Hurst
Mar 20 at 14:02
3
3
$begingroup$
Since LineLegend accepts a LabelStyle option, you could simplify things by using
LineLegend[labels, LegendLayout -> "Row", 1, LabelStyle -> 16, Italic, FontFamily -> "Times"]
and dropping all of those Style/Text wrappers in the labels.$endgroup$
– Carl Woll
Mar 20 at 16:01
$begingroup$
Since LineLegend accepts a LabelStyle option, you could simplify things by using
LineLegend[labels, LegendLayout -> "Row", 1, LabelStyle -> 16, Italic, FontFamily -> "Times"]
and dropping all of those Style/Text wrappers in the labels.$endgroup$
– Carl Woll
Mar 20 at 16:01
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f193622%2fadjusting-bounding-box-of-plotlegends-in-timelineplot%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
$begingroup$
If the legend is to indicate nationality, then it should be „Dutch“ for de Heem. Also the curator of knowledge in the WL should be told that „Davidsz.“ is an abbreviation for „Davidszoon“ - so there is a period missing.
$endgroup$
– gwr
Mar 20 at 13:11