How can I replace x-axis labels with pre-determined symbols? The Next CEO of Stack OverflowHow...
Small nick on power cord from an electric alarm clock, and copper wiring exposed but intact
Ising model simulation
What day is it again?
"Eavesdropping" vs "Listen in on"
Is this a new Fibonacci Identity?
pgfplots: How to draw a tangent graph below two others?
How can the PCs determine if an item is a phylactery?
Incomplete cube
How badly should I try to prevent a user from XSSing themselves?
Are British MPs missing the point, with these 'Indicative Votes'?
My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?
That's an odd coin - I wonder why
Creating a script with console commands
Is it correct to say moon starry nights?
Traveling with my 5 year old daughter (as the father) without the mother from Germany to Mexico
Could you use a laser beam as a modulated carrier wave for radio signal?
Prodigo = pro + ago?
How do I secure a TV wall mount?
The sum of any ten consecutive numbers from a fibonacci sequence is divisible by 11
How should I connect my cat5 cable to connectors having an orange-green line?
Man transported from Alternate World into ours by a Neutrino Detector
Does Germany produce more waste than the US?
How can I separate the number from the unit in argument?
Masking layers by a vector polygon layer in QGIS
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 46 mins ago
m_goldberg
88k872199
88k872199
asked 8 hours ago
migglemiggle
30016
30016
$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');
});
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 59 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');
});
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');
});
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
$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