当前位置: 首页 > 知识库问答 >
问题:

在R中旋转条形图的x轴标签

欧阳正谊
2023-03-14

我试图让x轴标签在柱状图上旋转45度,但没有成功。这是我下面的代码:

barplot(((data1[,1] - average)/average) * 100,
        srt       = 45,
        adj       = 1,
        xpd       = TRUE,
        names.arg = data1[,2],
        col       = c("#3CA0D0"),
        main      = "Best Lift Time to Vertical Drop Ratios of North American Resorts",
        ylab      = "Normalized Difference",
        yaxt      = 'n',
        cex.names = 0.65,
        cex.lab   = 0.65)

共有3个答案

窦国源
2023-03-14

使用基本图形以等于或小于90度的角度旋转x轴标签。代码改编自R常见问题解答:

par(mar = c(7, 4, 2, 2) + 0.2) #add room for the rotated labels

#use mtcars dataset to produce a barplot with qsec colum information
mtcars = mtcars[with(mtcars, order(-qsec)), ] #order mtcars data set by column "qsec"

end_point = 0.5 + nrow(mtcars) + nrow(mtcars) - 1 #this is the line which does the trick (together with barplot "space = 1" parameter)

barplot(mtcars$qsec, col = "grey50", 
        main = "",
        ylab = "mtcars - qsec", ylim = c(0,5 + max(mtcars$qsec)),
        xlab = "",
        space = 1)
#rotate 60 degrees (srt = 60)
text(seq(1.5, end_point, by = 2), par("usr")[3]-0.25, 
     srt = 60, adj = 1, xpd = TRUE,
     labels = paste(rownames(mtcars)), cex = 0.65)
商宏爽
2023-03-14

根据大卫的回应编辑答案:

这是一种黑客式的方法。我猜有一种更简单的方法。但是您可以通过保存barplo中的条形图位置来抑制条形图标签和标签的绘图文本,并上下进行一些调整。这是mtcar数据集的示例:

x <- barplot(table(mtcars$cyl), xaxt="n")
labs <- paste(names(table(mtcars$cyl)), "cylinders")
text(cex=1, x=x-.25, y=-1.25, labs, xpd=TRUE, srt=45)
平羽
2023-03-14

使用可选参数las=2。

barplot(mytable,main="Car makes",ylab="Freqency",xlab="make",las=2)
 类似资料:
  • 我试图显示带有旋转x轴标签的图表,但该图表未显示。 此时,我可以看到图像,但在设置xticklabel后,我不再看到图像,只看到对象引用。(我会发布图片,但我没有足够的声誉:() 这里发布了一个类似的问题:在seaborn FactoryPlot中旋转标签文本,但解决方案不起作用。

  • 我的x轴值没有对齐。我应该修改什么设置? x轴未对齐 下面是我到目前为止在代码中使用的。setLabelsToSkip将无法工作,因为我使用的是3.0.1版。 这是我的标签格式化程序类: 以下是我的主要活动setdata方法: 在我的主要活动中,我像这样使用它:

  • 这是关于以下条款:https://github.com/PhilJay/MPAndroidChart/wiki/Setting-Data在条形图标题下。在下面的给定代码中: 产出是: 此处不显示X值。点击这里查看截图 如何将X轴值设置为月份(1月1日,1月2日,1月3日...),如文章中所示。

  • 我正在尝试使用我自己的标签制作Seaborn条形图,代码如下: 但是,我得到一个错误: 有什么好处?

  • 我使用MPAndroidChart条形图...除了x轴,其他都没问题...标签上的条形没有正确对齐。当我缩放图表时,条形图出现在它的标签上,但这种缩放不是我想要的,当我缩放标签时,标签会重复,直到下一个,以此类推。我的数据就像是eg: 年龄是我的标签,它是字符串类型...我需要它是字符串标签。 这是我的c代码# 对于条入口的x位置,我只使用一个称为c的整数,它在每个循环中增加1,所以它给出了0f,

  • 如何将文本标签与图中的x标记对齐?我正在使用主机。设置标签(标签,rotation='vertical'),但这似乎不起作用。我的标签是句子,有些可能比其他的小/大,比如“木乃伊归来第2部分”-我如何在x轴下方填充一个空间来容纳这个? 我需要对齐图中的“黑色”体量。 我尝试了这里的例子中的建议python旋转值在xax上不重叠-plt.xticks(x,标签,旋转='垂直'),等等,但没有工作。