How can I replace x-axis labels with pre-determined symbols? The Next CEO of Stack OverflowHow to increase the number of minor ticks in a plot?Axis Labels Disappear With ManipulatePlotting an additional axis with ticksFormatting bar charts: size and ticksHow to customize labels of a 3D plot?Show seems to forget 'logness' for Ticks of LogLogPlotHow to use Charting`ScaledFrameTicks to produce tick specifications for log-scaled plots?Custom labels in colorbarParentheses in axis labelsCalculating the sum of the lengths and plotting all curves on the same map
Mathematica command that allows it to read my intentions
Create custom note boxes
Planeswalker Ability and Death Timing
What difference does it make matching a word with/without a trailing whitespace?
What day is it again?
Is this a new Fibonacci Identity?
How can a day be of 24 hours?
Ising model simulation
Is it reasonable to ask other researchers to send me their previous grant applications?
What did the word "leisure" mean in late 18th Century usage?
The sum of any ten consecutive numbers from a fibonacci sequence is divisible by 11
Gauss' Posthumous Publications?
Another proof that dividing by 0 does not exist -- is it right?
Masking layers by a vector polygon layer in QGIS
Why does freezing point matter when picking cooler ice packs?
Is it possible to make a 9x9 table fit within the default margins?
How to show a landlord what we have in savings?
"Eavesdropping" vs "Listen in on"
Is it OK to decorate a log book cover?
Why was Sir Cadogan fired?
Are British MPs missing the point, with these 'Indicative Votes'?
How to pronounce fünf in 45
How do I keep Mac Emacs from trapping M-`?
Can a PhD from a non-TU9 German university become a professor in a TU9 university?
How can I replace x-axis labels with pre-determined symbols?
The Next CEO of Stack OverflowHow to increase the number of minor ticks in a plot?Axis Labels Disappear With ManipulatePlotting an additional axis with ticksFormatting bar charts: size and ticksHow to customize labels of a 3D plot?Show seems to forget 'logness' for Ticks of LogLogPlotHow to use Charting`ScaledFrameTicks to produce tick specifications for log-scaled plots?Custom labels in colorbarParentheses in axis labelsCalculating the sum of the lengths and plotting all curves on the same map
$begingroup$
I want to take a simple plot and change the x-axis so it appears to be measured in terms of certain symbols that are used in the physics literature. See the image below for an example.
I will rephrase this as follows: I have some set of numerical coordinates which trace out the curves in my plot. For equal spacings on the x-axis (say once every 100 points), I want to label the line $x=100,n$ with a symbol.
I don't know how to do this. The documentation provided by Mathematica didn't help me. This doesn't seem like something done by just changing the ticks settings.
plotting labeling
$endgroup$
add a comment |
$begingroup$
I want to take a simple plot and change the x-axis so it appears to be measured in terms of certain symbols that are used in the physics literature. See the image below for an example.
I will rephrase this as follows: I have some set of numerical coordinates which trace out the curves in my plot. For equal spacings on the x-axis (say once every 100 points), I want to label the line $x=100,n$ with a symbol.
I don't know how to do this. The documentation provided by Mathematica didn't help me. This doesn't seem like something done by just changing the ticks settings.
plotting labeling
$endgroup$
$begingroup$
Provide sample data to work with
$endgroup$
– MarcoB
7 hours ago
$begingroup$
The curves can be anything. You can just plot a simple function if you like. This is just an illustration of how I want to format the axis, not real data.
$endgroup$
– miggle
7 hours ago
add a comment |
$begingroup$
I want to take a simple plot and change the x-axis so it appears to be measured in terms of certain symbols that are used in the physics literature. See the image below for an example.
I will rephrase this as follows: I have some set of numerical coordinates which trace out the curves in my plot. For equal spacings on the x-axis (say once every 100 points), I want to label the line $x=100,n$ with a symbol.
I don't know how to do this. The documentation provided by Mathematica didn't help me. This doesn't seem like something done by just changing the ticks settings.
plotting labeling
$endgroup$
I want to take a simple plot and change the x-axis so it appears to be measured in terms of certain symbols that are used in the physics literature. See the image below for an example.
I will rephrase this as follows: I have some set of numerical coordinates which trace out the curves in my plot. For equal spacings on the x-axis (say once every 100 points), I want to label the line $x=100,n$ with a symbol.
I don't know how to do this. The documentation provided by Mathematica didn't help me. This doesn't seem like something done by just changing the ticks settings.
plotting labeling
plotting labeling
edited 37 mins ago
m_goldberg
88k872199
88k872199
asked 8 hours ago
migglemiggle
3006
3006
$begingroup$
Provide sample data to work with
$endgroup$
– MarcoB
7 hours ago
$begingroup$
The curves can be anything. You can just plot a simple function if you like. This is just an illustration of how I want to format the axis, not real data.
$endgroup$
– miggle
7 hours ago
add a comment |
$begingroup$
Provide sample data to work with
$endgroup$
– MarcoB
7 hours ago
$begingroup$
The curves can be anything. You can just plot a simple function if you like. This is just an illustration of how I want to format the axis, not real data.
$endgroup$
– miggle
7 hours ago
$begingroup$
Provide sample data to work with
$endgroup$
– MarcoB
7 hours ago
$begingroup$
Provide sample data to work with
$endgroup$
– MarcoB
7 hours ago
$begingroup$
The curves can be anything. You can just plot a simple function if you like. This is just an illustration of how I want to format the axis, not real data.
$endgroup$
– miggle
7 hours ago
$begingroup$
The curves can be anything. You can just plot a simple function if you like. This is just an illustration of how I want to format the axis, not real data.
$endgroup$
– miggle
7 hours ago
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
This can be done using either Ticks
if you're using axes or FrameTicks
if you're using a frame on your plot. I made up a plot since I'm not sure the exact data matters.
Most of the code below is flair to make the graph look a bit nicer. The important bit is FrameTicks
. I've told MMA to use its best judgement for 3 of the 4 sides of the graph. For plots, the order is usually left, right, bottom, top
, though for certain things you can get away with only 2 arguments x-argument, y-argument
.
For each side of the frame, FrameTicks
is expecting a list of ticks and the label to put on those ticks, so in place of bottom
from the above list, I would put something like x-value1, "x-label1", x-value2, "x-label2", ...
. It is also possible to specify the lengths of the ticks in this way: x-value1, "x-label1", insidelength1, outsidelength1, x-value2, "x-label2", insidelength2, outsidelength2, ...
.
Plot[
Piecewise[
-(x - 5)^2 + 50, 0 <= x <= 10,
-(x - 10)^2 + 25, 10 < x < 15],
x, 0, 15,
Axes -> False,
Frame -> True, False, True, False,
FrameLabel -> "E (eV)", None, "k-space", None,
FrameStyle -> Directive[16, Black],
FrameTicks ->
Automatic, Automatic, 0, "K", 5, "Γ", 10, "M", 15, "K", Automatic,
ImageSize -> 500,
Epilog ->
Dashing[0.001, 0.01],
Line[0, -1, 0, 25],
Line[5, -1, 5, 50],
Line[10, -1, 10, 25],
Line[15, -1, 15, 0]
]
$endgroup$
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
7 hours ago
add a comment |
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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%2f194389%2fhow-can-i-replace-x-axis-labels-with-pre-determined-symbols%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$
This can be done using either Ticks
if you're using axes or FrameTicks
if you're using a frame on your plot. I made up a plot since I'm not sure the exact data matters.
Most of the code below is flair to make the graph look a bit nicer. The important bit is FrameTicks
. I've told MMA to use its best judgement for 3 of the 4 sides of the graph. For plots, the order is usually left, right, bottom, top
, though for certain things you can get away with only 2 arguments x-argument, y-argument
.
For each side of the frame, FrameTicks
is expecting a list of ticks and the label to put on those ticks, so in place of bottom
from the above list, I would put something like x-value1, "x-label1", x-value2, "x-label2", ...
. It is also possible to specify the lengths of the ticks in this way: x-value1, "x-label1", insidelength1, outsidelength1, x-value2, "x-label2", insidelength2, outsidelength2, ...
.
Plot[
Piecewise[
-(x - 5)^2 + 50, 0 <= x <= 10,
-(x - 10)^2 + 25, 10 < x < 15],
x, 0, 15,
Axes -> False,
Frame -> True, False, True, False,
FrameLabel -> "E (eV)", None, "k-space", None,
FrameStyle -> Directive[16, Black],
FrameTicks ->
Automatic, Automatic, 0, "K", 5, "Γ", 10, "M", 15, "K", Automatic,
ImageSize -> 500,
Epilog ->
Dashing[0.001, 0.01],
Line[0, -1, 0, 25],
Line[5, -1, 5, 50],
Line[10, -1, 10, 25],
Line[15, -1, 15, 0]
]
$endgroup$
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
7 hours ago
add a comment |
$begingroup$
This can be done using either Ticks
if you're using axes or FrameTicks
if you're using a frame on your plot. I made up a plot since I'm not sure the exact data matters.
Most of the code below is flair to make the graph look a bit nicer. The important bit is FrameTicks
. I've told MMA to use its best judgement for 3 of the 4 sides of the graph. For plots, the order is usually left, right, bottom, top
, though for certain things you can get away with only 2 arguments x-argument, y-argument
.
For each side of the frame, FrameTicks
is expecting a list of ticks and the label to put on those ticks, so in place of bottom
from the above list, I would put something like x-value1, "x-label1", x-value2, "x-label2", ...
. It is also possible to specify the lengths of the ticks in this way: x-value1, "x-label1", insidelength1, outsidelength1, x-value2, "x-label2", insidelength2, outsidelength2, ...
.
Plot[
Piecewise[
-(x - 5)^2 + 50, 0 <= x <= 10,
-(x - 10)^2 + 25, 10 < x < 15],
x, 0, 15,
Axes -> False,
Frame -> True, False, True, False,
FrameLabel -> "E (eV)", None, "k-space", None,
FrameStyle -> Directive[16, Black],
FrameTicks ->
Automatic, Automatic, 0, "K", 5, "Γ", 10, "M", 15, "K", Automatic,
ImageSize -> 500,
Epilog ->
Dashing[0.001, 0.01],
Line[0, -1, 0, 25],
Line[5, -1, 5, 50],
Line[10, -1, 10, 25],
Line[15, -1, 15, 0]
]
$endgroup$
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
7 hours ago
add a comment |
$begingroup$
This can be done using either Ticks
if you're using axes or FrameTicks
if you're using a frame on your plot. I made up a plot since I'm not sure the exact data matters.
Most of the code below is flair to make the graph look a bit nicer. The important bit is FrameTicks
. I've told MMA to use its best judgement for 3 of the 4 sides of the graph. For plots, the order is usually left, right, bottom, top
, though for certain things you can get away with only 2 arguments x-argument, y-argument
.
For each side of the frame, FrameTicks
is expecting a list of ticks and the label to put on those ticks, so in place of bottom
from the above list, I would put something like x-value1, "x-label1", x-value2, "x-label2", ...
. It is also possible to specify the lengths of the ticks in this way: x-value1, "x-label1", insidelength1, outsidelength1, x-value2, "x-label2", insidelength2, outsidelength2, ...
.
Plot[
Piecewise[
-(x - 5)^2 + 50, 0 <= x <= 10,
-(x - 10)^2 + 25, 10 < x < 15],
x, 0, 15,
Axes -> False,
Frame -> True, False, True, False,
FrameLabel -> "E (eV)", None, "k-space", None,
FrameStyle -> Directive[16, Black],
FrameTicks ->
Automatic, Automatic, 0, "K", 5, "Γ", 10, "M", 15, "K", Automatic,
ImageSize -> 500,
Epilog ->
Dashing[0.001, 0.01],
Line[0, -1, 0, 25],
Line[5, -1, 5, 50],
Line[10, -1, 10, 25],
Line[15, -1, 15, 0]
]
$endgroup$
This can be done using either Ticks
if you're using axes or FrameTicks
if you're using a frame on your plot. I made up a plot since I'm not sure the exact data matters.
Most of the code below is flair to make the graph look a bit nicer. The important bit is FrameTicks
. I've told MMA to use its best judgement for 3 of the 4 sides of the graph. For plots, the order is usually left, right, bottom, top
, though for certain things you can get away with only 2 arguments x-argument, y-argument
.
For each side of the frame, FrameTicks
is expecting a list of ticks and the label to put on those ticks, so in place of bottom
from the above list, I would put something like x-value1, "x-label1", x-value2, "x-label2", ...
. It is also possible to specify the lengths of the ticks in this way: x-value1, "x-label1", insidelength1, outsidelength1, x-value2, "x-label2", insidelength2, outsidelength2, ...
.
Plot[
Piecewise[
-(x - 5)^2 + 50, 0 <= x <= 10,
-(x - 10)^2 + 25, 10 < x < 15],
x, 0, 15,
Axes -> False,
Frame -> True, False, True, False,
FrameLabel -> "E (eV)", None, "k-space", None,
FrameStyle -> Directive[16, Black],
FrameTicks ->
Automatic, Automatic, 0, "K", 5, "Γ", 10, "M", 15, "K", Automatic,
ImageSize -> 500,
Epilog ->
Dashing[0.001, 0.01],
Line[0, -1, 0, 25],
Line[5, -1, 5, 50],
Line[10, -1, 10, 25],
Line[15, -1, 15, 0]
]
edited 50 mins ago
m_goldberg
88k872199
88k872199
answered 7 hours ago
MassDefectMassDefect
2,135311
2,135311
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
7 hours ago
add a comment |
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
7 hours ago
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
7 hours ago
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
7 hours 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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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%2f194389%2fhow-can-i-replace-x-axis-labels-with-pre-determined-symbols%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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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
$begingroup$
Provide sample data to work with
$endgroup$
– MarcoB
7 hours ago
$begingroup$
The curves can be anything. You can just plot a simple function if you like. This is just an illustration of how I want to format the axis, not real data.
$endgroup$
– miggle
7 hours ago