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

为什么 ggplot2 不支持两个 y 轴?

毕竟在几乎所有其他的统计软件中,两个y轴都很好的支持。例如SAS中,不仅可以画两个y轴,通过offset参数,这两个轴还可以拥有不同的起始高度!如下: ?...我们可以看看最终题主接受的这个答案是怎么样的: 有时候客户想要两个y轴,但是这样做只会让他们的论证变得千疮百孔。我尊重并喜欢ggplot2对于“正确作图理念”的坚持。...这也是一项被许多人所要求,并且广为使用的功能。” “@hadley。你说的大多数我都同意,但是确实有种情况必须要同时用到两个y轴:当一个变量拥有两个metric的时候。...也就是说,我认为,能够同时画两个y轴是非常有用的功能。” ? 确实上面的这些批评意见很有道理——我可以不给客户看,但我自己在做数据分析的时候画给自己总行了吧?...毕竟广大网友的智慧是无穷的,最终还是有人想出了一套使用ggplo2来画dual-y-scales的方法。只不过这个办法需要用到gtable和grid两个包,而且代码非常非常的长。

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

    前端开发者常用的9个JavaScript图表库

    下面是挑选出的 9 个 JavaScript 图表库: Chart.js Chartist FlexChart Echarts NVD3 C3.js TauCharts ReCharts Flot Chart.js...借助 Chart.js,用户可以轻松直观地查看混合图表类型。默认情况下,也可以使用 Chart.js 创建响应式网页。 Chart.js 库允许用户快速创建可视化数据。...Chart.js 易于设置,对初学者十分友好。使用 Chart.js 则不必考虑浏览器的兼容性问题,因为 Chart.js 支持旧浏览器。...使用 npm 安装 Chart.js: npm install chart.js --save  Chart.js 绘制雷达图的代码示例: const ctx = document.getElementById...尽管如此,Flot.js 也不会因为绘制折线图、饼图、条形图、面积图、甚至堆叠图表而降低其性能。 Flot.js 有一个很完善的文档。当用户遇到困难时,可以很容易地找到解决办法。

    7.1K30

    前端开发者常用的 9个JavaScript 图表库

    下面是挑选出的 9 个 JavaScript 图表库: Chart.js Chartist FlexChart Echarts NVD3 C3.js TauCharts ReCharts Flot Chart.js...借助 Chart.js,用户可以轻松直观地查看混合图表类型。默认情况下,也可以使用 Chart.js 创建响应式网页。 Chart.js 库允许用户快速创建可视化数据。...Chart.js 易于设置,对初学者十分友好。使用 Chart.js 则不必考虑浏览器的兼容性问题,因为 Chart.js 支持旧浏览器。...使用 npm 安装 Chart.js: npm install chart.js –save Chart.js 绘制雷达图的代码示例: constctx=document.getElementById(...尽管如此,Flot.js 也不会因为绘制折线图、饼图、条形图、面积图、甚至堆叠图表而降低其性能。 Flot.js 有一个很完善的文档。当用户遇到困难时,可以很容易地找到解决办法。

    8.4K50

    前端开发者常用的9个JavaScript图表库

    下面是挑选出的 9 个 JavaScript 图表库: Chart.js Chartist FlexChart Echarts NVD3 C3.js TauCharts ReCharts Flot Chart.js...借助 Chart.js,用户可以轻松直观地查看混合图表类型。默认情况下,也可以使用 Chart.js 创建响应式网页。 Chart.js 库允许用户快速创建可视化数据。...Chart.js 易于设置,对初学者十分友好。使用 Chart.js 则不必考虑浏览器的兼容性问题,因为 Chart.js 支持旧浏览器。...使用 npm 安装 Chart.js: npm install chart.js --save  Chart.js 绘制雷达图的代码示例: const ctx = document.getElementById...尽管如此,Flot.js 也不会因为绘制折线图、饼图、条形图、面积图、甚至堆叠图表而降低其性能。 Flot.js 有一个很完善的文档。当用户遇到困难时,可以很容易地找到解决办法。

    7.3K70

    基于VlnPlot参数及ggplot2美化小提琴图

    如果想将marker一起展示,就需要使用stack参数绘制堆叠小提琴图 2....分组小提琴图 分组小提琴图是一种用于展示不同组别中数据分布情况的可视化图表,当有两个组别时可以很好的展示基因在两个组间的差异 使用split.by参数可选择按照某一分组变量(这里是 'stim')来分割数据...= element_blank(), ) 旋转并对齐 x 轴标签,设置其样式; 取消 x 轴的次要网格线与 y 轴的刻度标签; 隐藏图例; 设置 x 轴标题和刻度线的颜色和大小; 完全取消 y 轴的刻度和网格线...= 'Expression') 通过theme_minimal()和theme()函数对图形的样式进行美化: 将 x 轴标签旋转 45 度并右对齐; 隐藏 y 轴的刻度标签; 设定轴标题的字体大小;...那就ggplot2 堆叠 各种元素 小结 这期使用VlnPlot函数的相关参数,绘制堆叠小提琴图,以及对小提琴图进行了分组分半的展示 基于ggplot2在VlnPlot结果的基础上进行调整,如果想提取需要的数据

    1.3K11

    图表(Chart & Graph)你真的用对了吗?

    设计柱状图的最佳做法: 图表中使用对比色,高亮特殊有意义的数据。 使用水平标签,提高数据可读性。 y轴起始为0,可以显示各柱状的数值。...需要绘制连续的数据集时,很适合使用这种图表类型。 设计线形图的最佳做法: 使用实线绘制。 数据线不超过4条,以免产生混乱。 使用正确的高度,使线条占据y轴高度的2/3左右。...4)双轴图 双轴图可用于显示双Y轴的数据。这种图形由三个数据集组成,两个Y轴数据,一个X轴数据。主要用于显示两个Y轴随X轴变化时的相关性。...设计双轴图的最佳做法: 使用左侧的y轴作为主要变量 ,因为大脑自然倾向于先看向左。 使用不同的图形样式来说明两个数据集,如上所示。 为两个数据集使用对比色。...设计面积图的最佳做法: 使用透明的颜色 ,使Y轴标签不被遮蔽。 最多显示4个数据,以免产生混淆。 图表顶部的数据是高度可变的,方便阅读。

    2.3K10

    Matlab画图技巧与实例:堆叠图stackedplot

    函数图,包括:fplot,fimplicit和fplot3函数,感觉和ezplot很像,参见 stackedplot函数专门用来绘制堆叠图,意思是一组数据拥有共同x轴,而y轴数据不同。...您可以将此语法与前面任何语法中的输入参数结合使用。例如,stackedplot(___,Name,Value) 使用一个或多个 Name,Value 对组参数设置堆叠图的属性。...可以将此选项与前面语法中的任何输入参数组合一起使用。名称-值对组设置应用于堆叠图中的所有绘图。将每个属性名称括在引号中。...创建堆叠图后,可以使用 s 更改堆叠图的属性。有关属性列表,请参阅 StackedLineChart 属性。...堆叠图有很多属性,包括: 例如,可以对x轴和y轴添加名称。其他属性类似,直接指定即可。设定时,注意数据类型。

    2.9K30

    这些条形图的用法您都知道吗?

    NULL, mapping = aes()) data:指定绘图所需的原始数据,如果不指定,则必须在geom_*函数中指定; mapping:通过aes的方式指定图形的属性(如x轴的变量,y轴的变量,颜色变量...ggplot函数所指定的数据框; stat:借助于该参数控制绘图数据的统计变换,默认为'count',表示计数(前提是绘图数据为明细数据);如果指定为'identity',表示直接使用原始数据绘制y轴(...y轴的变量 mapping = aes(x = Province, y = GDP)) + # 绘制条形图 geom_bar(stat = 'identity', # y轴数据直接来自于原始数据框...然而,在实际的企业环境中,这样的图形出现的频次并不是很高,因为绝对数量的堆叠条形图并不能够达到刺激效果。读者不妨使用下面介绍的百分比堆叠条形图。...对于数值型变量有两个,离散型变量有一个的数据该如何绘制条形图呢(如常见的环比、同比问题),这里提供一个解决思路,那就是使用对比条形图。

    5.6K10

    【Demo】各类图表Demo源码+相关组件

    各类图表功能,小程序自带API并没有提供,所以很多人就用了其他方法来实现,极乐大叔将这些实现方法和教程聚合一下,以便大家能够迅速而方便的使用。...微信小程序图表插件:饼状图,K线图 wx-charts:基于canvas绘制:饼图,线图,柱状图 微信小程序精品组件:chartjs:饼图,折线图,bar,point-styles 微信小程序实用组件:带有x轴y...轴的折线图 微信小程序demo推荐:股票;动态分时图、K线图 微信小程序demo组件:canvas股票分时图 ?...— 相关Demo — 微信小程序学习用demo:雪球;chart.js使用 微信小程序demo:富文本解析,折线图,MD5,bluebird.js,es6 微信小程序简约开发框架:charts折线图...微信小程序demo:利用canvas绘制折线图 微信小程序学习用demo:使用canvas绘制雷达图 微信小程序demo:基于canvas的动态柱状图

    3.8K90

    数据可视化设计指南

    由于这三个图表使用同一个Y轴,因此比较他们之间的数据差异更加容易。 ? 允许。 使用条形图表示随时间变化的趋势或各个类别之间的差异(这个图X轴为数据数值,Y轴为日期)。 ? 禁止。...面积图 面积图有几种类型,包括堆叠面积图和重叠面积图: 堆叠面积图显示了多个数据类别(在同一时间段内)彼此堆叠 重叠面积图显示了多个数据类别(在同一时间段内)彼此重叠 这两个图的区别在于堆叠面积图是各个类别数据叠加显示...取而代之的是,使用堆叠面积图来比较一个时间维度内的多个数据类别(水平轴表示时间)。 ? 允许。 使用堆叠面积图表示多个数据,能够保持良好的可读性。3个类别的数据堆叠显示 ? 禁止。...X、Y轴数值标签 带数值标签的轴的作用是清晰地显示相应图示数据的范围和比例。例如,折线图X轴和Y轴显示一系列数值标签。 ? 条形图Y轴基准线起始值应始终从零开始。 ?...X、Y轴上的数值文本 Y轴上的数值文本的使用应有助于在图表中反映最重要的数据洞察。X、Y轴上的数据文本格式应于界面中的一致,不应妨碍阅读图表。 ? 允许。 通过使用省略显示数值文本来提高可读性。 ?

    6.1K31

    柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?

    当使用者需要在同一个轴上显示各个分类下不同的分组时,需要用到分组柱状图。 跟柱状图类似,使用柱子的高度来映射和对比数据值。...▲图2-37 堆叠柱状图 4. 双向柱状图 双向柱状图,又名正负条形图,使用正向和反向的柱子显示类别之间的数值比较。...,逐年堆叠 p.x_range.start = 0 p.y_range.range_padding = 0.1 # x轴两侧空白 p.ygrid.grid_line_color = None...▲图2-55 代码示例2-42运行结果 代码示例2-42第18行使用FactorRange ()方法预定义x轴的范围(factors的数据格式与Pandas复合序列相似);第19行绘制竖向堆叠柱状图。...代码示例2-43第19、22行分别使用hbar_stack ()方法向左、右两个方向绘制,实现横向堆叠柱状图;注意,当y轴为分类数据(字符串)时,一般需要预先定义y_range。

    3.4K10

    《数据可视化基础》第四章:可视化图形推荐

    我们可以使用分组或者堆叠的条形图来进行展示。同时也可以把两个类别映射到X和Y轴上,这样就得到了热图来进行展示了。 ?...另外,堆叠的条形图基本使用所有情况,如果是比例沿连续性变量进行变化的时候,使用堆叠的密度图是可以的。 ?...具体的使用条件我们会在后面的几章进行讲解。 ? 4 x-y 相关性 当我们想显示两个连续性变量的变化的时候,可以使用散点图来进行可视化。...对于成对的数据,沿x和y轴的变量以相同单位测量,通常添加一条表示x = y的线通常会有所帮助。 ? 对于大量的点,常规的散点图可能会由于点过多,就容易看不清趋势。...另一方面,当我们要可视化两个以上的变量时,我们可以选择以相关图而不是基础原始数据的形式绘制相关系数。 ? 当x轴表示时间或严格增加的变量(例如治疗剂量)时,我们通常绘制线图。

    2.4K30

    来聊聊11种Numpy的高级操作!

    该函数需要两个参数: – numpy.expand_dims(arr, axis) – 其中: • arr:输入数组• axis:新轴插入的位置 import numpy as...hstack 水平堆叠序列中的数组(列方向) vstack 竖直堆叠序列中的数组(行方向) 1.numpy.stack 函数沿新轴连接数组序列,需要提供以下参数: – numpy.stack(arrays....numpy.concatenate 函数用于沿指定轴连接相同形状的两个或多个数组。...quicksort'(快速排序); • order 如果数组包含字段,则是要排序的字段– numpy.argsort() 函数对输入数组沿给定轴执行间接排序,并使用指定排序类型返回数据的索引数组。...– numpy.argmax() 和 numpy.argmin()这两个函数分别沿给定轴返回最大和最小元素的索引。– numpy.nonzero() 函数返回输入数组中非零元素的索引。

    2.3K10

    如何使用Chart.js创建一个简单的折线图?

    以下是一个示例,展示了如何使用 Chart.js 在 Vue 中创建一个简单的折线图: 安装 Chart.js。...可以通过 npm 安装,命令如下: npm install chart.js 在你的 Vue 组件中,按照以下步骤使用 Chart.js 创建折线图: 在组件中引入 Chart.js: import Chart...line', data: chartData, options: { responsive: true, scales: { y:...使用 Chart.js 的 Chart 构造函数来创建图表实例,并传入一个 Canvas 元素和配置选项。指定了折线图类型为 'line',提供了用于展示的数据和样式配置。...Chart.js 就能够找到正确的元素来渲染图表。 这个示例创建了一个简单的折线图,展示了每个月份的数据。根据需要修改数据、样式和其他配置选项来适应自己的项目需求。

    52530

    柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?(附代码)

    当使用者需要在同一个轴上显示各个分类下不同的分组时,需要用到分组柱状图。 跟柱状图类似,使用柱子的高度来映射和对比数据值。...▲图2-37 堆叠柱状图 4. 双向柱状图 双向柱状图,又名正负条形图,使用正向和反向的柱子显示类别之间的数值比较。...,逐年堆叠 8p.x_range.start = 0 9p.y_range.range_padding = 0.1 # x轴两侧空白 10p.ygrid.grid_line_color...▲图2-55 代码示例2-42运行结果 代码示例2-42第18行使用FactorRange ()方法预定义x轴的范围(factors的数据格式与Pandas复合序列相似);第19行绘制竖向堆叠柱状图。...代码示例2-43第19、22行分别使用hbar_stack ()方法向左、右两个方向绘制,实现横向堆叠柱状图;注意,当y轴为分类数据(字符串)时,一般需要预先定义y_range。

    4.1K10
    领券