Vertical ranges of Column Plots in 12 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?CustomTicks and small rangesMultiple ranges in one plotFilling between quantile rangesCombine 3D plots with different ranges into oneMake a column of two plotsTransferFunctionModel and BodePlot shows different result between Mathematica and MatlabHow do I control the ranges in plots made with LogLogPlotMultiple plots sharing a single vertical axisVertical and Horizontal Shifts of PlotsConfiguration of `PlotLayout` as “Row”/“Column”
A proverb that is used to imply that you have unexpectedly faced a big problem
Does the universe have a fixed centre of mass?
Obtaining packet switch-port information via a mirrored port?
The Nth Gryphon Number
Does the Rock Gnome trait Artificer's Lore apply when you aren't proficient in History?
How to use bash to create a socket server and allow multiple clients in the same port?
My mentor says to set image to Fine instead of RAW — how is this different from JPG?
"Destructive power" carried by a B-52?
Table formatting with tabularx?
Putting class ranking in CV, but against dept guidelines
Is this Kuo-toa homebrew race balanced?
Are there any irrational/transcendental numbers for which the distribution of decimal digits is not uniform?
What does the writing on Poe's helmet say?
Is it OK to use the testing sample to compare algorithms?
How to evaluate this function?
One-one communication
Is a copyright notice with a non-existent name be invalid?
How to make an animal which can only breed for a certain number of generations?
How do Java 8 default methods hеlp with lambdas?
Short story about astronauts fertilizing soil with their own bodies
3D Masyu - A Die
Where and when has Thucydides been studied?
Was the pager message from Nick Fury to Captain Marvel unnecessary?
Did John Wesley plagiarize Matthew Henry...?
Vertical ranges of Column Plots in 12
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?CustomTicks and small rangesMultiple ranges in one plotFilling between quantile rangesCombine 3D plots with different ranges into oneMake a column of two plotsTransferFunctionModel and BodePlot shows different result between Mathematica and MatlabHow do I control the ranges in plots made with LogLogPlotMultiple plots sharing a single vertical axisVertical and Horizontal Shifts of PlotsConfiguration of `PlotLayout` as “Row”/“Column”
$begingroup$
Version 12 includes a new Layout->Column option for ListPlot which aligns multiple plots so they share a single horizontal axis. It seemed really useful at first. But data being compared in this way can have very different vertical scales.
It appears that the new capability always sets the PlotRange of all the data sets to the same value:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic]

I have tried what seems reasonable to set the ranges separately:
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, Automatic, Automatic, Automatic]
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, -.1, .1, Automatic, -1, 1]
But neither of these work. The first gives the same result, and the second throws an error. Does anyone have any insight into this?
EDIT:
Thank you @Szabolcs. Your solution not only solves the range problem, but permits differing scaling functions. (A cross section of a biased semiconductor junction may want to plot potentials from 0 to 10 volts, but also carrier concentrations from 0 to 1E18 on a log scale.)
d3 = Table[x, Exp[10 Cos[x]], x, 0, 4 Pi, Pi/100];
GraphicsColumn[
ListLinePlot[d1, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True,
FrameTicks -> Automatic, None, None, None,
FrameLabel -> None, "Linear"],
ListLinePlot[d3, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, All, Frame -> True, FrameLabel -> "Log",
ScalingFunctions -> "Log"]
]

plotting version-12
$endgroup$
add a comment |
$begingroup$
Version 12 includes a new Layout->Column option for ListPlot which aligns multiple plots so they share a single horizontal axis. It seemed really useful at first. But data being compared in this way can have very different vertical scales.
It appears that the new capability always sets the PlotRange of all the data sets to the same value:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic]

I have tried what seems reasonable to set the ranges separately:
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, Automatic, Automatic, Automatic]
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, -.1, .1, Automatic, -1, 1]
But neither of these work. The first gives the same result, and the second throws an error. Does anyone have any insight into this?
EDIT:
Thank you @Szabolcs. Your solution not only solves the range problem, but permits differing scaling functions. (A cross section of a biased semiconductor junction may want to plot potentials from 0 to 10 volts, but also carrier concentrations from 0 to 1E18 on a log scale.)
d3 = Table[x, Exp[10 Cos[x]], x, 0, 4 Pi, Pi/100];
GraphicsColumn[
ListLinePlot[d1, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True,
FrameTicks -> Automatic, None, None, None,
FrameLabel -> None, "Linear"],
ListLinePlot[d3, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, All, Frame -> True, FrameLabel -> "Log",
ScalingFunctions -> "Log"]
]

plotting version-12
$endgroup$
add a comment |
$begingroup$
Version 12 includes a new Layout->Column option for ListPlot which aligns multiple plots so they share a single horizontal axis. It seemed really useful at first. But data being compared in this way can have very different vertical scales.
It appears that the new capability always sets the PlotRange of all the data sets to the same value:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic]

I have tried what seems reasonable to set the ranges separately:
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, Automatic, Automatic, Automatic]
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, -.1, .1, Automatic, -1, 1]
But neither of these work. The first gives the same result, and the second throws an error. Does anyone have any insight into this?
EDIT:
Thank you @Szabolcs. Your solution not only solves the range problem, but permits differing scaling functions. (A cross section of a biased semiconductor junction may want to plot potentials from 0 to 10 volts, but also carrier concentrations from 0 to 1E18 on a log scale.)
d3 = Table[x, Exp[10 Cos[x]], x, 0, 4 Pi, Pi/100];
GraphicsColumn[
ListLinePlot[d1, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True,
FrameTicks -> Automatic, None, None, None,
FrameLabel -> None, "Linear"],
ListLinePlot[d3, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, All, Frame -> True, FrameLabel -> "Log",
ScalingFunctions -> "Log"]
]

plotting version-12
$endgroup$
Version 12 includes a new Layout->Column option for ListPlot which aligns multiple plots so they share a single horizontal axis. It seemed really useful at first. But data being compared in this way can have very different vertical scales.
It appears that the new capability always sets the PlotRange of all the data sets to the same value:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic]

I have tried what seems reasonable to set the ranges separately:
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, Automatic, Automatic, Automatic]
ListLinePlot[d1, d2, PlotLayout -> "Column",
InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> Automatic, -.1, .1, Automatic, -1, 1]
But neither of these work. The first gives the same result, and the second throws an error. Does anyone have any insight into this?
EDIT:
Thank you @Szabolcs. Your solution not only solves the range problem, but permits differing scaling functions. (A cross section of a biased semiconductor junction may want to plot potentials from 0 to 10 volts, but also carrier concentrations from 0 to 1E18 on a log scale.)
d3 = Table[x, Exp[10 Cos[x]], x, 0, 4 Pi, Pi/100];
GraphicsColumn[
ListLinePlot[d1, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True,
FrameTicks -> Automatic, None, None, None,
FrameLabel -> None, "Linear"],
ListLinePlot[d3, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, All, Frame -> True, FrameLabel -> "Log",
ScalingFunctions -> "Log"]
]

plotting version-12
plotting version-12
edited 46 mins ago
David Keith
asked 2 hours ago
David KeithDavid Keith
1,6851314
1,6851314
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
There is another new feature in M12.0: GraphicsColumn will now align the frames.
You can use this:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
GraphicsColumn[
ListLinePlot[#, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True] & /@ d1, d2
]

While I did need to set the horizontal range explicitly (so that they match), I did not need to fuss with the ImagePadding to ensure that the frames line up. This saves a lot of work.
Here's what the same looks like in M11.3:

The grids and frames are not quite aligned.
$endgroup$
$begingroup$
Thank you, Szabolcs. That works perfectly. I edited my question to comment further.
$endgroup$
– David Keith
44 mins ago
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%2f195713%2fvertical-ranges-of-column-plots-in-12%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
There is another new feature in M12.0: GraphicsColumn will now align the frames.
You can use this:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
GraphicsColumn[
ListLinePlot[#, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True] & /@ d1, d2
]

While I did need to set the horizontal range explicitly (so that they match), I did not need to fuss with the ImagePadding to ensure that the frames line up. This saves a lot of work.
Here's what the same looks like in M11.3:

The grids and frames are not quite aligned.
$endgroup$
$begingroup$
Thank you, Szabolcs. That works perfectly. I edited my question to comment further.
$endgroup$
– David Keith
44 mins ago
add a comment |
$begingroup$
There is another new feature in M12.0: GraphicsColumn will now align the frames.
You can use this:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
GraphicsColumn[
ListLinePlot[#, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True] & /@ d1, d2
]

While I did need to set the horizontal range explicitly (so that they match), I did not need to fuss with the ImagePadding to ensure that the frames line up. This saves a lot of work.
Here's what the same looks like in M11.3:

The grids and frames are not quite aligned.
$endgroup$
$begingroup$
Thank you, Szabolcs. That works perfectly. I edited my question to comment further.
$endgroup$
– David Keith
44 mins ago
add a comment |
$begingroup$
There is another new feature in M12.0: GraphicsColumn will now align the frames.
You can use this:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
GraphicsColumn[
ListLinePlot[#, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True] & /@ d1, d2
]

While I did need to set the horizontal range explicitly (so that they match), I did not need to fuss with the ImagePadding to ensure that the frames line up. This saves a lot of work.
Here's what the same looks like in M11.3:

The grids and frames are not quite aligned.
$endgroup$
There is another new feature in M12.0: GraphicsColumn will now align the frames.
You can use this:
d1 = Table[x, .1 Sin[x], x, 0, 3 Pi, Pi/9];
d2 = Table[x, Cos[x], x, 0, 4 Pi, Pi/7];
GraphicsColumn[
ListLinePlot[#, InterpolationOrder -> 2, GridLines -> Automatic,
PlotRange -> 0, 4 Pi, Automatic, Frame -> True] & /@ d1, d2
]

While I did need to set the horizontal range explicitly (so that they match), I did not need to fuss with the ImagePadding to ensure that the frames line up. This saves a lot of work.
Here's what the same looks like in M11.3:

The grids and frames are not quite aligned.
answered 1 hour ago
SzabolcsSzabolcs
165k14450954
165k14450954
$begingroup$
Thank you, Szabolcs. That works perfectly. I edited my question to comment further.
$endgroup$
– David Keith
44 mins ago
add a comment |
$begingroup$
Thank you, Szabolcs. That works perfectly. I edited my question to comment further.
$endgroup$
– David Keith
44 mins ago
$begingroup$
Thank you, Szabolcs. That works perfectly. I edited my question to comment further.
$endgroup$
– David Keith
44 mins ago
$begingroup$
Thank you, Szabolcs. That works perfectly. I edited my question to comment further.
$endgroup$
– David Keith
44 mins ago
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%2f195713%2fvertical-ranges-of-column-plots-in-12%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