相关疑难解决方法(0)

更改离散x刻度的顺序

我正在使用具有离散x刻度的ggplot制作一个躲闪条形图,x轴现在按字母顺序排列,但我需要重新排列它以便按y轴的值排序(即,最高的条形将位于左侧).

我尝试了排序或排序,但结果是对x轴进行排序,而不是分别对条形进行排序.

我做错了什么?

r ggplot2 r-faq

128
推荐指数
4
解决办法
23万
查看次数

你如何专门订购ggplot2 x轴而不是字母顺序?

我想一个使heatmap使用ggplot2使用geom_tiles此功能,下面是我的代码:

p<-ggplot(data,aes(Treatment,organisms))+geom_tile(aes(fill=S))+
  scale_fill_gradient(low = "black",high = "red") + 
  scale_x_discrete(expand = c(0, 0)) + 
  scale_y_discrete(expand = c(0, 0)) + 
  theme(legend.position = "right", 
    axis.ticks = element_blank(), 
    axis.text.x = element_text(size = base_size, angle = 90, hjust = 0, colour = "black"),
    axis.text.y = element_text(size = base_size, hjust = 1, colour = "black")).
Run Code Online (Sandbox Code Playgroud)

数据是我的data.csv文件
我的X轴是治疗的类型
我的Y轴是有机体的类型

我对命令和编程不太熟悉,而且我对此比较陌生.我只是想能够指定x轴上标签的顺序.在这种情况下,我试图指定"治疗"的顺序.默认情况下,它按字母顺序排序.如何覆盖此数据/保持数据的顺序与原始csv文件中的顺序相同?

我试过这个命令

scale_x_discrete(limits=c("Y","X","Z"))
Run Code Online (Sandbox Code Playgroud)

其中x,y和z是我的治疗条件顺序.然而,它不能很好地工作,并给我缺少热箱.

r ggplot2 r-faq

69
推荐指数
2
解决办法
12万
查看次数

如何重新排序图例中的项目?

我正在尝试更改图例项目的显示顺序.我花了大约一个小时在这里,没有结果.

这是一个示例设置:

library(ggplot2)
set.seed(0)
d <- data.frame(x = runif(3), y = runif(3), a = c('1', '3', '10'))
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的众多事情之一:

ggplot(d, aes(x = x, y = y)) + 
    geom_point(size=7, aes(color = a, order = as.numeric(a)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

(当然,我天真的希望是传奇项目将以数字顺序显示:1,3,10.)

r ggplot2

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

ggplot2 ×3

r ×3

r-faq ×2