Dynamically rotate ggplot axis labels if they will overlapoverlapping axis label depending on the window sizeRotating and spacing axis labels in ggplot2column names have periods inserted where there should be spacesTwo column/row Positioning of labels in ggplotNeed support with formatting x-axis group labels to not overlapSplit labels over 2 lines in ggplot with factorsggplot bar chart for time seriesRotating y axis labels with mosaic plotsRemove all of x axis labels in ggplotHow do I layer axis labels in ggplot?ggplot x-axis labels with all x-axis values
How to remove multiple elements from Set/Map AND knowing which ones were removed?
How could I create a situation in which a PC has to make a saving throw or be forced to pet a dog?
Can artificial satellite positions affect tides?
What made the Ancient One do this in Endgame?
What does the output current rating from an H-Bridge's datasheet really mean?
How to avoid offending original culture when making conculture inspired from original
How many times to repeat an event with known probability before it has occurred a number of times
Nth term of Van Eck Sequence
Is there a risk to write an invitation letter for a stranger to obtain a Czech (Schengen) visa?
The title "Mord mit Aussicht" explained
Manager wants to hire me; HR does not. How to proceed?
How do I say what something is made out of?
What is the difference between state-based effects and effects on the stack?
How can Caller ID be faked?
Many if's statements
Boss making me feel guilty for leaving the company at the end of my internship
How to address players struggling with simple controls?
100-doors puzzle
Is it unethical to quit my job during company crisis?
Difference between "drift" and "wander"
Idiom for 'person who gets violent when drunk"
Can an open source licence be revoked if it violates employer's IP?
Was the Lonely Mountain, where Smaug lived, a volcano?
Print the phrase "And she said, 'But that's his.'" using only the alphabet
Dynamically rotate ggplot axis labels if they will overlap
overlapping axis label depending on the window sizeRotating and spacing axis labels in ggplot2column names have periods inserted where there should be spacesTwo column/row Positioning of labels in ggplotNeed support with formatting x-axis group labels to not overlapSplit labels over 2 lines in ggplot with factorsggplot bar chart for time seriesRotating y axis labels with mosaic plotsRemove all of x axis labels in ggplotHow do I layer axis labels in ggplot?ggplot x-axis labels with all x-axis values
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm wondering if there is a way to check if x axis labels are going to overlap and only if they are to then rotate them using ggplot2 in R. My current problem is that I am using a function to plot data and I would like to be able to feed it different amounts of data but still get a sensible looking plot.
I understand that if the plot window is resized then when the overlapping kicks in would be different, so not sure if this could be added during a save when the sizes are known.
Does anyone have any hints or workarounds?
Here is a very much simplified example:
library(ggplot)
testdf1 <- data.frame(Year = as.factor(rep(1990:2000, each = 10)), value = rnorm(110, mean = rep(sample(1:11),each = 10 )))
testdf2 <- data.frame(Year = as.factor(rep(1951:2000, each = 10)), value = rnorm(500, mean = rep(sample(1:11,50, replace = T),each = 10 )))
myplotfun <- function(dat)
ggplot(dat, aes(x = Year, y = value))+
geom_boxplot()
plt1 <- myplotfun(testdf1)
plt2 <- myplotfun(testdf2)
I could, of course, then add
plt2 <- plt2 +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
or add this within the function so that it happens to all plots, but I'd generally prefer the plots to be unrotated (so I don't want apply to all) and I don't want to have to manually review and assign rotation or not.
Note this example has the axis labels as years, so in theory I don't need them all, but I'd like to be able to use this in other cases where the labels are categories and therefore the need to all be labelled.
I have found it hard to find any information on this other than this unanswered thread https://www.reddit.com/r/rstats/comments/951vc1/overlapping_labels_in_ggplot/
This plot poses a similar question but the answer (while helpful to the poster) will not solve my problem as I require all labels to be shown
overlapping axis label depending on the window size
r ggplot2 axis-labels
add a comment |
I'm wondering if there is a way to check if x axis labels are going to overlap and only if they are to then rotate them using ggplot2 in R. My current problem is that I am using a function to plot data and I would like to be able to feed it different amounts of data but still get a sensible looking plot.
I understand that if the plot window is resized then when the overlapping kicks in would be different, so not sure if this could be added during a save when the sizes are known.
Does anyone have any hints or workarounds?
Here is a very much simplified example:
library(ggplot)
testdf1 <- data.frame(Year = as.factor(rep(1990:2000, each = 10)), value = rnorm(110, mean = rep(sample(1:11),each = 10 )))
testdf2 <- data.frame(Year = as.factor(rep(1951:2000, each = 10)), value = rnorm(500, mean = rep(sample(1:11,50, replace = T),each = 10 )))
myplotfun <- function(dat)
ggplot(dat, aes(x = Year, y = value))+
geom_boxplot()
plt1 <- myplotfun(testdf1)
plt2 <- myplotfun(testdf2)
I could, of course, then add
plt2 <- plt2 +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
or add this within the function so that it happens to all plots, but I'd generally prefer the plots to be unrotated (so I don't want apply to all) and I don't want to have to manually review and assign rotation or not.
Note this example has the axis labels as years, so in theory I don't need them all, but I'd like to be able to use this in other cases where the labels are categories and therefore the need to all be labelled.
I have found it hard to find any information on this other than this unanswered thread https://www.reddit.com/r/rstats/comments/951vc1/overlapping_labels_in_ggplot/
This plot poses a similar question but the answer (while helpful to the poster) will not solve my problem as I require all labels to be shown
overlapping axis label depending on the window size
r ggplot2 axis-labels
add a comment |
I'm wondering if there is a way to check if x axis labels are going to overlap and only if they are to then rotate them using ggplot2 in R. My current problem is that I am using a function to plot data and I would like to be able to feed it different amounts of data but still get a sensible looking plot.
I understand that if the plot window is resized then when the overlapping kicks in would be different, so not sure if this could be added during a save when the sizes are known.
Does anyone have any hints or workarounds?
Here is a very much simplified example:
library(ggplot)
testdf1 <- data.frame(Year = as.factor(rep(1990:2000, each = 10)), value = rnorm(110, mean = rep(sample(1:11),each = 10 )))
testdf2 <- data.frame(Year = as.factor(rep(1951:2000, each = 10)), value = rnorm(500, mean = rep(sample(1:11,50, replace = T),each = 10 )))
myplotfun <- function(dat)
ggplot(dat, aes(x = Year, y = value))+
geom_boxplot()
plt1 <- myplotfun(testdf1)
plt2 <- myplotfun(testdf2)
I could, of course, then add
plt2 <- plt2 +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
or add this within the function so that it happens to all plots, but I'd generally prefer the plots to be unrotated (so I don't want apply to all) and I don't want to have to manually review and assign rotation or not.
Note this example has the axis labels as years, so in theory I don't need them all, but I'd like to be able to use this in other cases where the labels are categories and therefore the need to all be labelled.
I have found it hard to find any information on this other than this unanswered thread https://www.reddit.com/r/rstats/comments/951vc1/overlapping_labels_in_ggplot/
This plot poses a similar question but the answer (while helpful to the poster) will not solve my problem as I require all labels to be shown
overlapping axis label depending on the window size
r ggplot2 axis-labels
I'm wondering if there is a way to check if x axis labels are going to overlap and only if they are to then rotate them using ggplot2 in R. My current problem is that I am using a function to plot data and I would like to be able to feed it different amounts of data but still get a sensible looking plot.
I understand that if the plot window is resized then when the overlapping kicks in would be different, so not sure if this could be added during a save when the sizes are known.
Does anyone have any hints or workarounds?
Here is a very much simplified example:
library(ggplot)
testdf1 <- data.frame(Year = as.factor(rep(1990:2000, each = 10)), value = rnorm(110, mean = rep(sample(1:11),each = 10 )))
testdf2 <- data.frame(Year = as.factor(rep(1951:2000, each = 10)), value = rnorm(500, mean = rep(sample(1:11,50, replace = T),each = 10 )))
myplotfun <- function(dat)
ggplot(dat, aes(x = Year, y = value))+
geom_boxplot()
plt1 <- myplotfun(testdf1)
plt2 <- myplotfun(testdf2)
I could, of course, then add
plt2 <- plt2 +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
or add this within the function so that it happens to all plots, but I'd generally prefer the plots to be unrotated (so I don't want apply to all) and I don't want to have to manually review and assign rotation or not.
Note this example has the axis labels as years, so in theory I don't need them all, but I'd like to be able to use this in other cases where the labels are categories and therefore the need to all be labelled.
I have found it hard to find any information on this other than this unanswered thread https://www.reddit.com/r/rstats/comments/951vc1/overlapping_labels_in_ggplot/
This plot poses a similar question but the answer (while helpful to the poster) will not solve my problem as I require all labels to be shown
overlapping axis label depending on the window size
r ggplot2 axis-labels
r ggplot2 axis-labels
asked Mar 25 at 2:40
user2738526user2738526
866513
866513
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fstackoverflow.com%2fquestions%2f55330614%2fdynamically-rotate-ggplot-axis-labels-if-they-will-overlap%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- 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.
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%2fstackoverflow.com%2fquestions%2f55330614%2fdynamically-rotate-ggplot-axis-labels-if-they-will-overlap%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