回答
至少有两种方式在基本图实现这一点(我的例子是x轴,但工作同样为y轴):
使用
par(xaxp = c(x1, x2, n))
或plot(..., xaxp = c(x1, x2, n))
定义极限刻度线和刻度线之间的间隔数(n
)的位置(x1
&x2
)。因此,n+1
是绘制的刻度线数量。 (只有在不使用对数刻度时才有效,因为对数刻度的行为请参见?par
。)您可以完全禁止绘制轴,并在后面添加刻度标记
axis()
。
要抑制轴的绘制,请使用plot(... , xaxt = "n")
。
然后请致电axis()
与side
,at
和labels
:axis(side = 1, at = v1, labels = v2)
。与side
参考轴线的一侧(1 = x轴,2 = y轴),v1
是含有蜱(的位置的矢量例如,c(1, 3, 5)
如果您的轴线范围为0〜6,并且希望3马克)和v2
包含指定刻度标记的标签的矢量(必须与v1
的长度相同,例如,c("group a", "group b", "group c")
)。见?axis
和my updated answer to a post on stats.stackexchange for an example of this method。
使用基础图形,最简单的方法是停止绘图轴的绘图功能,然后自己绘制它们。
plot(1:10, 1:10, axes = FALSE)
axis(side = 1, at = c(1,5,10))
axis(side = 2, at = c(1,3,7,10))
box()
你好 我在x轴上有日期时间数据(chron) 在我的情况下,我认为它应该比写一行更好假设有25个完整的日期。 如果我想垂直写在x轴上的日期,我的意思是垂直。 欢呼声 – skan 2010-09-25 12:54:19
看看图形参数'las' in?par,它可以添加到对'axis()'的调用中,并控制滴答标签的方向。例如。 'axis(side = 1,at = c(1,5,10),las = 2)'。您可能想要调查chron对象是否有'axis()'函数,或者考虑使用已经具有'axis()'函数(例如'axis.Date()')的R的Date Time类“')。 – 2010-09-25 23:01:02
我有一个数据集,其中时间为x轴,强度为y轴。我需要先删除除了轴与标签上的所有默认轴:
plot(Time,Intensity,axes=F)
然后我重建情节与元素:
box() # create a wrap around the points plotted
axis(labels=NA,side=1,tck=-0.015,at=c(seq(from=0,to=1000,by=100))) # labels = NA prevents the creation of the numbers and tick marks, tck is how long the tick mark is.
axis(labels=NA,side=2,tck=-0.015)
axis(lwd=0,side=1,line=-0.4,at=c(seq(from=0,to=1000,by=100))) # lwd option sets the tick mark to 0 length because tck already takes care of the mark
axis(lwd=0,line=-0.4,side=2,las=1) # las changes the direction of the number labels to horizontal instead of vertical.
所以,at = c(...)
指定位置集合放刻度线。在这里,我想把标记设置为0,100,200,...,1000. seq(from =...,to =...,by =...)
给了我限制和增量的选择。
如果你不想R键添加小数或零,则可以从图纸x轴或y轴或同时使用... AXT停止。然后,您可以添加自己的刻度和标签:
plot(x, y, xaxt="n")
plot(x, y, yaxt="n")
axis(1 or 2, at=c(1, 5, 10), labels=c("First", "Second", "Third"))
- 1. 如何更改时间轴图表上的Y轴刻度
- 2. 更改ggplot2中x轴刻度之间的距离
- 3. 更改x轴的刻度
- 4. R,轴的刻度线和刻度标记之间变化距离标签
- 5. 改变Highstock上yAxis的刻度以绘制绘图线
- 6. scale_x_discrete中x轴刻度线之间的距离太远
- 7. 如何使用ggplot2更改轴标签和刻度标签之间的间距?
- 8. R 3D绘图轴刻度标签
- 9. 关闭上/右轴的刻度线
- 10. 在python中更改y轴的刻度
- 11. 刻度线为X轴
- 12. 更改轴刻度为“箱”中ggplot
- 13. 更改X轴的刻度相同的数据序列图
- 14. 如何更改光谱图的x轴刻度?
- 15. 更改Coreplot刻度线的颜色
- 16. 核心绘图:刻度间隔
- 17. 在d3图表中保持坐标轴刻度之间的距离
- 18. jqPlot - 在x轴上有多个角度的刻度线
- 19. Matplotlib刻度线和刻度线标签位置与轴线分开固定
- 20. 绘制坐标轴上方的刻度文本
- 21. 用Matplotlib改变X轴的刻度
- 22. 使用plotinum绘制具有对数刻度y轴的图形
- 23. python Matplotlib在绘图右侧的Y轴刻度
- 24. Highchart:刻度之间的确切距离
- 25. ggplot2 Tufte线与轴刻度相同
- 26. jq plot - 获得线性x轴刻度
- 27. 无法更改子图中的刻度
- 28. 绘制声波 - 线性频率刻度上的幅度
- 29. Jq-图的x轴间距
- 30. R绘制边距和虚线y轴
有没有办法控制R用于数字刻度标签的小数位数。我刚刚尝试了标签= c(0.0,0.5,1.0,1.5,2.0),但在图中标签为0,0.5,1,1.5等。有没有办法在所有标签上获得相同的小数位数?我尝试过标签= round(seq(0,2,0.5),1),但是整个数字仍然没有小数位。 – eipi10 2012-02-20 17:41:04
尝试函数'formatC'或'prettyNum'来创建要传递给'labels'的字符向量。例如:'formatC(seq(0,2,0。5),digits = 1,format =“f”)' – Henrik 2012-02-21 13:25:59
+1一直在寻找一段时间来找到它。结果发现'n'实际上是刻度标记'-1'的数目。我想从'1'到'9'的刻度线,并且必须设置'xaxp = c(1,9,8)',否则我不会得到想要的结果。 – ThomasH 2012-12-05 17:16:22