首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

温故而知新,ggplot2 饼图的几点笔记

其实 ggplot2 并没有类似于 geom_pie() 这样的函数实现饼图的绘制,它是由 geom_bar() 柱状图经过 coord_polar() 极坐标弯曲从而得到的。...对于为什么 ggplot2 中没有专门用于饼图绘制的函,有人说:“柱状图的高度,对应于饼图的弧度,饼图并不推荐,因为人类的眼睛比较弧度的能力比不上比较高度(柱状图)。”...coord_polar coord_polar() 是 ggplot2 中的极坐标函数,它可以弯曲横纵坐标,使用这个函数做出蜘蛛图或饼图的效果。...饼图中添加文字的位置控制 - 借助公式 绘制饼图的过程中,利用 ggplot2 的 geom_bar 结合 coord_polar 实现。...参考资料 Daitoue,《饼图 pie - ggplot2》,OmicsClass Daitoue,《饼图中添加文字的位置控制-ggplot2(非公式)》,OmicsClass

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3D 饼图在 VUE 中的实现

    最近有多位读者反应,3D 饼图在 VUE 环境里跑不通。...这两天有空,为了看看到底是什么原因,我跑去查了查 VUE 的手册和教程,尝试在 @vue/cli 创建的 webpack 中,把我的 3D 饼图跑通。...我就是参考那个文件,改写我的 3D 饼图的。有兴趣的同学可以自行尝试一下,也可以后台回复数字「210106」,下载我写好的「App.vue」,替换掉 src 目录下的 App.vue。...主要改动是通过 this.pie3D 获取、更新饼图当前的 option 数据,通过 mergeOptions 方法刷新图表。...此前的 3D 饼图文章 另外,有些读者在 Gallery 看到的例子可能是基于我这个改写的,增加了单独设置高度的功能: 回复评论:能单独调每一块内容的高度吗..有高有低的那种 你们都太有想法了~ 把

    3.6K30

    跟着NatureGenetics学作图:R语言ggplot2柱形图饼图箱线图展示柑橘泛基因家族分析的结果

    citrus fruits https://www.nature.com/articles/s41588-023-01516-6 柑橘泛基因组NG.pdf 论文中大部分作图数据都有,我们可以试着用论文中的数据来复现论文中的图...,今天的推文我们来复现论文中的Figure 3 a和b 首先是Figure3a 一个柱形图叠加一个饼图 论文中提供的柱形图的数据 image.png 一直没太看明白这个柱形图想展示的是什么意思,欢迎大家留言讨论...softcore"="#df94a0", "core"="#d97168")) p1 image.png (这个配色个人感觉是真难看) 然后是饼图的代码..."Softcore"="#df94a0", "Core"="#d97168")) p2 image.png 把柱形图和饼状图组合到一起...p2)), aes(x=x,y=y,label=plot), vp.width=0.8,vp.height=0.8) image.png 然后是线形图的代码

    66640

    跟着Nature Genetics 学画图:R语言ggplot2画地图并且叠加饼状图的简单小例子

    image.png 这篇论文的数据是公开的,我们可以试着用公开的数据复现一下论文中用来展示数据的图。第一个图是使用地图来展示实验样本的地理分布。...查了一下,发现R语言里有专门的包来获取这个地图数据,参考链接是 https://slcladal.github.io/maps.html 前几天的推文介绍了如何利用ggplot2包来绘制地图,有人在推文下留言说...image.png 接下来是叠加饼图 有现成的函数可以做这个事情,参考如下链接 https://guangchuangyu.github.io/2016/12/scatterpie-for-plotting-pies-on-ggplot.../ 需要借助scatterpie这个包 直接安装 install.packages("scatterpie") 看下帮助文档中的例子 help(package="scatterpie") library...image.png 这样就可以很方便的向地图上添加饼状图了 完整代码 #install.packages("rnaturalearth") #install.packages("rnaturalearthdata

    1.9K30

    R 可视化 | 华夫饼图

    作者:庄闪闪 前言 华夫饼图(waffle chart)分为块状华夫饼图和点状华夫饼图。华夫饼图是展示总数据的组类别情况的一种有效图表。...它是西方的一种 由小方格组成的面包,所以这种图表因此得名为华夫饼图。 本文框架 ?...ggplot 包绘制 块状华夫饼图 块状华夫饼图的小方格用不同颜色表示不同类别,适合用来快速检视数 据集中不同类别的分布和比例,并与其他数据集的分布和比例进行比较,让 人更容易找出当中模式。...堆积型华夫饼图 这里还有一种比较有趣的华夫饼图。...rows 块的行数 keep 保持因子水平(例如,在华夫饼图中获得一致的图例) 简单例子 该华夫饼图,行为 8,one 占 80 个,two 占 30 个,tree 占 20 个,four 占 10

    1.2K10

    R可视乎|圆环图

    对于饼图,上一次学习《R语言数据可视化之美》的时候主要利用graphics包和ggplot包(可见R可视乎|饼图)。这几天的学习中发现还有一个更加简便的方法——ggpie包。...ggpie包绘制饼图 ?...其他俩常用参数可自行加入以上基础饼图中,这里不做大篇幅介绍。接下来介绍圆环图的各种方式绘制(圆环图和饼图的意义其实差不多,都是给出各数据的比重,只不过,圆环图中间少了一块,变成环状)。...主要有两个包:ggpubr包(推荐使用)与ggplot2包。 ggpubr包绘制圆环图 ? 利用该包中的ggdonutchart()可非常方便的绘制环状图,数据还是使用前面的数据。...ggplot2包绘制圆环图 在[R可视乎|饼图]中ggplot2包绘制饼图的基础上,只要再加一条代码即可完成:xlim(c(0, 5)),即将x轴范围控制在0-5。

    2.5K30

    R语言在地图上绘制月亮图、饼状图数据可视化果蝇基因种群

    p=23322 月亮图和饼图 饼图把一个圆分成多个部分,这些部分的弧长(以及面积)代表一个整体的比例。...月亮图也是如此,它把一个圆分成多个部分,这些部分的面积代表整个圆的比例,但在月亮图中,这些部分被画成圆的月牙形,就像月相。 ? 使用月亮图而不是饼图背后的动机主要是审美的选择。...用法 ggplot2数据可视化包,为R语言中的月亮图提供支持。它们的绘制方式与ggplot2中的点最为相似:它们的位置由一个x和一个y坐标定义,它们的大小与坐标系无关,所以它们总是保持圆形。...ggplot(tidymoons) + geom(key = full ) + ? 工作实例 地图上的月亮图 多饼图的一个常见用途是表示地图上不同坐标处的比例。...x和y维度已经致力于地图坐标,所以像柱状图这样的比例可视化就比较困难。这是一个尝试月形图的绝佳机会! 饼图地图在人口遗传学中很流行,所以让我们看一下该领域的一个例子。

    1.9K30

    R语言可视化—饼图

    今天复现文章中的Fig.1A,即饼图绘制。...接下来再对这张图进行修饰即可,观察Fig.1A,知道应该做如隐藏x,y轴、移除多余的图形元素、将value值标注在对应的色块中并且居中排列、将图例放在图的下方按照两列排列并隐藏图例名称、图例外有黑边包边...或饼图)的堆叠位置中的显示方式。...具体来说: position_stack:这是一个位置调整函数,用于在堆叠的条形图或饼图中调整元素的位置。对于堆叠的条形图,它将标签按照条形的高度依次堆叠。...在饼图中,position_stack(vjust = 0.5)用于将标签(如百分比)放置在每个饼图扇形区域的中间位置,从而使得标签更清晰地显示在每个部分的中心。

    18110

    R语言可视化——极坐标变换与衍生图表类型

    今天这篇内容会比较杂乱一点,因为会讲到ggplot函数中的一大类通过极坐标支持才能呈现出来的图表效果。...ggplot作图背后的图表哲学,没有给予饼图(以及衍生出的圆环图、玫瑰图等放射状图表类型)存在的空间(主要是该包的开发者个人的审美观,比较反感次坐标轴以及功能类型雷同的重复性图层函数,所以它宁可开发出分面图层原理也不愿意增加次坐标轴...但是巧的是,在常见的三种坐标形式中,极坐标转换可以非常轻松的将常见的柱形图(条形图)、堆积柱形图通过只一句极坐标函数就神奇的转化为饼图、玫瑰图、圆环图等(不知道是有意为之还是偶然的巧合)。...同时极坐标状态下,饼图的半径是由柱形图柱形图宽度决定的,以上图表中圆心有个空白,如果我们将柱形图柱形图宽度定义为1,则会成为正圆。...当然如果你使用的原始柱形图数据中添加了分类序列(也就是堆积柱形图),按照上面的方式可以制作更加复杂的圆环图、堆叠玫瑰图 ggplot(diamonds,aes(x=color,fill=cut))+geom_bar

    1.9K70

    R可视乎|饼图

    饼图(pie chart)被广泛地应用于各个领域,用于表示不同分类的占比情况,通过弧度大小来对比各种分类。...饼图通过将一个圆饼按照分类的占比划分成多个切片,整个圆饼代表数据的总量,每个切片(圆弧)表示该分类占总体的比例,所有切片(圆弧)的加和等于100%。 下面会介绍两种在R中实现饼图的方法。...graphics包绘制饼图 library(RColorBrewer) library(dplyr) library(graphics) library(ggplot2) init.angle可设定饼图的初始角度...ggplot2 包绘制饼图 使用R中ggplot2包的geom_bar()函数绘制堆积柱形图,然后将直角坐标系转换成极坐标系,就可以显示为饼图,但还是需要使用geom_text()函数添加数据标签。...但是可以看到:由于缺乏饼图与数据标签之间的引导线,总感觉美观度不够,所以推荐使用graphics包的pie()函数绘制饼图。 代码以及资料存在我的github上,可见文末原文链接。

    1.5K20

    体验R和python的不同绘制风格

    图层(Layer):图层是ggplot2中最基本的组成单元。每个图层都由数据、图形属性和统计变换组成。通过将多个图层叠加在一起,可以创建复杂的图形。...几何对象(Geom):几何对象是图层中的图形元素,用于表示数据的形状、大小、颜色等属性。ggplot2提供了多种几何对象,如点、线、条形、面积等。...matplotlib是Python中最常用的绘图库之一,它提供了广泛的绘图功能,可以创建各种类型的图形,包括线图、散点图、柱状图、饼图、等高线图等。...这使得用户可以方便地将图形用于报告、论文或网页等不同的应用场景。 丰富的图形类型:matplotlib支持绘制多种类型的图形,包括线图、散点图、柱状图、饼图、等高线图、热力图等。...那我们接下来体验一下使用R的ggplot2和Python的matplotlib绘制一张饼图吧!

    33110

    R绘图-ggplot2 (2)

    比如#把boxplot的中位线替换成了平均值来作图。 6、坐标系统(Coordinante) 坐标系统控制坐标轴,可以进行变换,例如XY轴翻转,笛卡尔坐标和极坐标转换,以满足我们的各种需求。...()实现: ggplot(small)+geom_bar(aes(x=factor(1), fill=cut))+coord_polar(theta="y") #这也是为什么之前介绍常用图形画法时没有提及饼图的原因...,饼图实际上就是柱状图,只不过是使用极坐标而已,柱状图的高度,对应于饼图的弧度,饼图并不推荐,因为人类的眼睛比较弧度的能力比不上比较高度(柱状图) #靶心图: ggplot(small)+geom_bar...在前面散点图上,我们已经见识过,加上了一个回归线拟合的图层。 #有了图层的概念,使用ggplot画起图来,就更加得心应手。...#做为图层的一个很好的例子是蝙蝠侠logo,batman logo由6个函数组成,在下面的例子中,我先画第一个函数,之后再加一个图层画第二个函数,不断重复这一过程,直到六个函数全部画好。

    87230

    R语言在地图上绘制散点饼图可视化

    p=22537 在本文我们在ggplot2中制作的饼实际上是一个条形图转换为极坐标。如果我们想制作一个像上面截图那样的地图,这就很困难了。 相关视频 但在地图上绘制饼图时,它也有自己的缺点。...首先,当我们绘制大量的饼图时,它以光栅图像的形式渲染,使得它的渲染速度很慢。 本文创建了一个封装函数,使其更容易绘制一组饼图。 例如,假设我们有以下数据。...set.seed(123) long <- rnorm(50, sd=100) lat <- rnorm(50, sd=50) 在地图上绘制饼图。...ggplot(map_data('world'), aes(long, lat) +pie(aes(x=long, y=lat, group=region, r=radius 这是一个简单应用,我发现很多人喜欢它...他们要求我实现饼的大小图例。我实现了一个legend层为饼的大小添加了一个图例,如上图所示。

    42310

    R语言在地图上绘制散点饼图可视化

    p=22537 在本文我们在ggplot2中制作的饼实际上是一个条形图转换为极坐标。如果我们想制作一个像上面截图那样的地图,这就很困难了。 相关视频 但在地图上绘制饼图时,它也有自己的缺点。...首先,当我们绘制大量的饼图时,它以光栅图像的形式渲染,使得它的渲染速度很慢。 本文创建了一个封装函数,使其更容易绘制一组饼图。 例如,假设我们有以下数据。...set.seed(123) long <- rnorm(50, sd=100) lat <- rnorm(50, sd=50) 在地图上绘制饼图。...ggplot(map_data('world'), aes(long, lat) +pie(aes(x=long, y=lat, group=region, r=radius 这是一个简单应用,我发现很多人喜欢它...他们要求我实现饼的大小图例。我实现了一个legend层为饼的大小添加了一个图例,如上图所示。

    6010

    跟着Nature Genetics 学画图:R语言ggplot2一次性画好多个饼状图

    今天推文重复的图来自于 论文 Whole-genome resequencing of 445 Lactuca accessions reveals the domestication history...image.png 今天试着重复的图片对应着的是论文附件中的Figure8b,很多个饼状图放到一起 ?...image.png 最基本的想法就是单独画好多个饼状图,然后通过拼图实现,但是因为之前重复地图的时候新遇到了一个包是 scattermore可以直接指定输入数据,然后一次性将所有饼状图画好,这样就省去了拼图的步骤...image.png x,y指定饼状图的位置坐标,接下来就紧跟饼状图每个部分的数据 ,那接下来就模仿这个数据 模仿数据的代码 x<-rep(seq(2,14,2),4) y<-as.numeric(as.character...image.png 模仿的还差不多 这里遇到一个问题是:ggplot2添加文本的时候默认是以坐标轴的位置居中分布的,有没有办法让文本以坐标的位置居左或者居右来呢?

    2.5K20

    你绝对想不到,数据地图还能这么玩~

    这个周末刷微信的时候,偶然看到一篇关于R语言12月更新包的介绍,翻到底部看了一眼,刚好看到一个关于ggplot2的一个图层插件——geom_scatterpie。...这个包安装之后,可以提供给ggplot新的图层函数,并制作出气泡状饼图,饼图可以分类填色,饼图大小可以映射数值变量,特别是将这种图表形式引入地图之中,那么最终呈现的地图上的气泡饼图非常炫酷。...、三大产业产比数据来演示此案例,GDP代表气泡图大小、三大产业占比用每一个气泡图的饼图份额占比来表示。...,这样省去了自己自己加载并整理地图素材数据的麻烦: world <- map_data('world') ggplot(world, aes(long, lat,group=group))...两幅图带图没有太大差别,导入的shp全球地图是不带南极洲的,但是maps中的世界地图是带有的。

    83960
    领券