在我们实际绘图中有时会碰到修改横纵坐标轴的问题,那么我们如何修改自定义自己需要的坐标轴呢?今天来给大家介绍下ggplot2中坐标轴的自定义修改。
【资料图】
这里我们使用之前的推文:R语言绘图—分组箱式图及添加数据点中的数据。
图形如下:
二、横纵坐标刻度标签变化
在theme函数中axis.text.x和axis.text.y参数分别设置的是x轴和y轴上的标签,具体设置参数如下:
其中family设置的字体;face设置字体是否斜体、加粗等,有“plain”, “italic”, “bold” and “bold.italic”等;colour设置颜色,size设置字体大小。
2.1设置x轴上标签颜色为红色、字体大小为30,斜体加粗
2.2设置y轴上标签颜色为红色、字体大小为30,斜体加粗
3.3不显示标签
可以指定axis.text.x 或axis.text.y的文本内容为空,如:
3.3.1指定y轴不显示标签:
3.3.2指定x轴不显示标签
3.3.3两者都不显示可以为:
三、定制轴线
如果我们想设置xy轴的轴线,可通过theme函数中的axis.line参数来设置,具体用法为:
其中colour为颜色;size为线的粗细;linetype为线条的类型,有“blank”, “solid”, “dashed”, “dotted”, “dotdash”, “longdash”, “twodash”等类型;lineend为线条末端的形态,有“round”, “butt” or “square”等类型。
3.1示例
我们设置轴线为橘黄色、粗细为2,线条类型为dotdash,线条末端为圆形。
我们还可以分别通过:scale_x_discrete(name, breaks, labels, limits)、scale_y_discrete(name, breaks, labels, limits)函数为x,y轴自定义一些设置。其中name为x,y轴的标签,功能相当于xlab和ylab,breaks可以自定义轴上显示的值(可以不按轴上的默认值来显示),labels设置的是轴上的标签名,limits设置的是x,y轴显示的范围。
3.2改变轴名称和轴标签名称
我们还可以分别通过:scale_x_discrete(name, breaks, labels, limits)、scale_y_discrete(name, breaks, labels, limits)函数为x,y轴自定义一些设置。
其中name为x,y轴的标签,功能相当于xlab和ylab,breaks可以自定义轴上显示的值(可以不按轴上的默认值来显示),labels设置的是轴上的标签名,limits设置的是x,y轴显示的范围。
3.2改变轴名称和轴标签名称
可以发现X轴的名称和轴标签名称发生了变化。
3.3限制范围和改变顺序
我们还可以自定义x轴上显示的范围以及图形显示的顺序:
可以发现这个图形的顺序是发生了改变的,虽然我们也可以指定ABC作为因子的顺序,但是通过limits可以帮我们把这个步骤给省略掉。另外大家也可以发现我们虽然将"A"改为"RA","B"改为"RB","C"改为"RC",但在limits参数中我们得使用它原来的名称。
在limits中我们将C组去掉,图形将只显示A和B,如:
这个参数的使用也极大的增加了我们显示图形的自主性,省略了我们处理数据的大量步骤。y轴的用法同样如此,只需在scale_y_discrete中设置参数即可。
3.4连续性数据的轴
上面我们演示的是分组变量绘制的轴线,如果我们的是连续性的我们则需要scale_x_continuous()和scale_y_continuous()函数,函数的用法如下:
参数的意义同上,其中trans用于轴的变换,如显示指数、log变换、平方变换等。
3.4.1自定义轴上数据的显示
这里我们自定义设置y轴上的数字,而不是按规律的出现,如:
3.5将数字显示为百分比、科学计数法:
这里使用了scales包,分别转为了百分比、价格、科学计数法。
好啦,今天的介绍就到这里了,喜欢的话记得分享给需要的人吧!
关键词: