
我想獲得這張圖,但是,當我繪制我的圖時,我得到了一個圖,其中 y 軸上的名稱被“壓扁”了。當我使用以下代碼時:
lower = c(83, 81, 80, 71, 69, 63, 63, 62, 54)
upper = c(112, 96, 111, 141, 125, 89, 178, 107, 130)
loc = c("YISHUN", "WOODLANDS", "HOUGANG", "ANG MO KIO" "TAMPINES", "SENGKANG", "GEYLANG", "BEDOK", "JURONG WEST")
df = data.frame(lower, upper, loc)
ggplot(df)
geom_point(aes(lower, loc), color = "Blue")
geom_point(aes(upper, loc), color = "Red")
geom_segment(aes(x = lower, y = loc, xend = upper, yend = loc))
我得到的圖:(*注意我沒有包括整個資料集,所以出現在我圖中的一些資料不會出現在資料集中)

如何將每個 y 軸的 loc 隔開以使它們不重疊?我也意識到它是按字母順序排序的loc。有什么辦法可以根據 的順序來訂購它lower嗎?
uj5u.com熱心網友回復:
首先,您可以增加繪圖的大小或縮小文本的大小。
其次,基于訂單組lower可以像下面的代碼一樣完成。
df1.order <- df1 %>%
dplyr::arrange(desc(lower)) %>%
mutate(loc = factor(loc))
df1 %>%
mutate(loc = factor(loc, levels = df1.order$loc, ordered = TRUE)) %>%
ggplot()
geom_point(aes(lower, loc), color = "Blue")
geom_point(aes(upper, loc), color = "Red")
geom_segment(aes(x = lower, y = loc, xend = upper, yend = loc))
theme(axis.text = element_text(size = 5))

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/335791.html
上一篇:ggplot2中圖例的自定義順序,因此它與圖中因子的順序不匹配
下一篇:使用影像作為點ggplot2
