R语言ggplot-Slope chart(坡度图)绘制考试排名变化
注意:一些图像细节需要导出矢量图在其他软件中进一步调整,小编这里使用的是RStudio+福昕PDF编辑器。
1.准备数据
科目,期中,期末
语文,1,6
数学,3,1
英语,6,2
生物,6,2
历史,2,1
地理,1,1
思政,15,4
总分,2,1
将以上文本保存至sc.csv
中,并将编码设为UTF-8.
2.导入数据
打开RStudio软件
# setwd(你的文件目录)
# header=T表示数据中的第一行是列名,如果没有列名就用header=F
# R读取数据的时候,默认会把列名里的空格变成 ".",check.names=F就不会变了
dt <- read.csv("sc.csv", header = T)
3.导入工具包
# install.packages("ggplot2")
# install.packages("reshape2")
library(ggplot2)
library(reshape2)
4.转换数据框格式
# 注释:将原始的宽数据变成长数据,方便画图
data_melt<-melt(dt,id.vars = "科目")
5.开始绘制坡度图
p<-ggplot(data_melt,aes(x=variable,y=value,group=科目)) +
geom_line(color="gray", linewidth=1) +
geom_point(aes(fill=科目),shape=21, size=3) +
scale_y_continuous(breaks = seq(1,16,2)) +
theme_minimal() + labs(x="期中期末排名变化",y="排名")
p
其实,你可以发现这里的ggplot没有坡度图函数,实际上是折线图geom_line()
和散点图geom_point()
的叠加。
PDF编辑器中添加细节
导出的尺寸越小,最终图片里的元素越大。
当然也可以导出svg矢量图在Adobe illustrator等软件中添加细节。