How can I replace x-axis labels with pre-determined symbols? The Next CEO of Stack OverflowHow...
Incomplete cube
What happens if you break a law in another country outside of that country?
Traveling with my 5 year old daughter (as the father) without the mother from Germany to Mexico
What day is it again?
Why does freezing point matter when picking cooler ice packs?
How can I prove that a state of equilibrium is unstable?
Is it reasonable to ask other researchers to send me their previous grant applications?
Mathematica command that allows it to read my intentions
Shortening a title without changing its meaning
How to unfasten electrical subpanel attached with ramset
Salesforce opportunity stages
Create custom note boxes
Prodigo = pro + ago?
How to pronounce fünf in 45
How can the PCs determine if an item is a phylactery?
Find a path from s to t using as few red nodes as possible
The sum of any ten consecutive numbers from a fibonacci sequence is divisible by 11
"Eavesdropping" vs "Listen in on"
Is it okay to majorly distort historical facts while writing a fiction story?
Is it correct to say moon starry nights?
Man transported from Alternate World into ours by a Neutrino Detector
Why do we say “un seul M” and not “une seule M” even though M is a “consonne”?
How exploitable/balanced is this homebrew spell: Spell Permanency?
Could a dragon use its wings to swim?
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 34 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
6 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
6 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
6 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 47 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
6 hours ago
add a comment |
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
6 hours ago
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
6 hours ago
$begingroup$
Beautiful, thanks a lot! Much easier to understand in the context of using a frame.
$endgroup$
– miggle
6 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