R语言ggplot2折线图如何根据需要调整线型、颜色及粗细?

图中有共有10条折线,想赋予其不同的颜色及粗细,线型,是否通过geom_line(size=0.5,linetype="solid", colour=…
关注者
11
被浏览
252,808

7 个回答

往期折线图教程

  1. 图形复现| 使用R语言绘制折线图
  2. 折线图指定位置标记
  3. 折线图形状更改 | 绘制动态折线图
  4. 跟着NC学作图 | 使用python绘制折线图

前言

我们折线的专栏推出一段时间,但是由于个人的原因,一直未进行更新。那么今天,我们也参考《R语言实战》中折线图部分的讲解,分享给大家。在此书中,关于折线图的绘制教程相对讲解较少,我们要很好的学习,还是可以基于前期教程 图形复现| 使用R语言绘制折线图 来进行学习。其实,复现一个图形,你基本会使用到绘图此系列图形的大部分参数。 我们搭建了《生信知识库》网页,帮助大家快速搜索相关教程,此系列专栏,我们会持续更新。详细内容,请访问 2023年《生信知识库》 订阅须知。


折线图geom_line的选项

选项
size 线条的粗细
color 线条的颜色
linetype 线条的类型

不同线条类型绘图

library(ggplot2)
ggplot(Orange, aes(age, circumference, linetype = Tree, color = Tree))+
  geom_point()+
  geom_line(size =1)+ ## 线条粗细
  scale_color_brewer(palette = "Set1")+  ## 设置主题颜色
  labs(title = "Orange Tree Growth",
       x = "Age (days)",
       y = "Circumference (mm)")+
  theme_bw()

也可以适当的修改参数:

geom_point(size = 3)

调整右边标签的顺序,由高到低的排序。

 guides(color = guide_legend(reverse = TRUE),
         linetype = guide_legend(reverse = TRUE))

《生信知识库》的访问网址,前期订阅,无需重复订阅

https://mp.weixin.qq.com/s/gTN90A7ipX8uyHDwKUohkw
「小杜的生信筆記」 ,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!

转自个人微信公粽号【易学统计】的统计学习笔记:

最近用到ggplot作图,不同的杂志要求 不同的字体 ,比如新罗马、宋体、华文楷体、黑体等等,那这个字体该怎么设置呢?小易整理了下R代码,帮大家轻松搞定!本文的主要采用绘图函数ggplot来完成。

R代码实现

1 加载数据和R包

rm(list=ls())#清空当前工作环境
本案例数据来自R内部数据集mpg
library(ggplot2)  ##作图
library(showtext) ##给定字体文件,加载到R环境中,生成新的字体家族名字
data(mpg) ##数据集

2 查看和导入字体

查看Windows系统下的字体

windowsFonts()

导入目标字体

##定义好导入的字体
Font <- c('STKaiti.TTF','simhei.TTF') ##华文楷体;黑体;
for (i in Font) {
  font_path = i
  font_name = tools::file_path_sans_ext(basename(font_path))
  font_add(font_name, font_path)
font_families() ### 查看当前字体
showtext_auto(enable=TRUE) #自动调用showtext,否则无法在ggsave()中使用,因为ggsave会自动打开和关闭图形设备。

3 ggplot实例作图

代码和图形如下:

Fon <- 'sans' ##定义字体
ggplot()+
  geom_point(data=mpg,
             aes(displ,hwy),
             size=1.5,
             color="green")+
  geom_smooth(data=mpg,
            aes(displ,hwy),#xy轴的数据
            linetype=1, ##线型
            alpha=0.7, ##透明度
            size=1, ##线粗细
            colour='black', ##线颜色
            span=0.8)+##平滑度
  #theme_bw()+  
  theme(axis.title = element_text(
                        family = Fon,##坐标轴标签字体
                        face='bold', ##字体外形(粗斜体等)
                        size=40, ##字体大小
                        lineheight = 1),##标签行间距的倍数
        axis.text = element_text(
                        family = Fon,##字体
                        face="bold", ##字体外形(粗斜体等)
                        color="blue",
                        size=30))+