首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cran-r:用于绘制交易分布的beanplot的替代方案

cran-r:用于绘制交易分布的beanplot的替代方案
EN

Stack Overflow用户
提问于 2018-07-10 09:51:24
回答 1查看 120关注 0票数 0

我试图重现我在卡洛斯·德拉戈的一篇论文中发现的一个情节(幻灯片#13)。但是我被卡住了。附件是一张情节的图像。我对做右边的图很感兴趣。我搜索了Stackoverflow,但没有找到解决方案。堆栈溢出中的大多数直方图问题都是关于多个直方图相互重叠的。在这种情况下,它是按日期索引的独立直方图的旋转90度。如果可能,我想将时间序列(左手边图)覆盖在右手边图的顶部,以便它们都使用左侧y轴。最后,它不是直方图(根据定义,直方图给出了每条线的频率),而是可以使用实际值。也就是说,假设该图使用了在一分钟间隔内交易的股票。每根柱子,不是显示以该价格交易的股票的百分比,而是显示在该时间间隔内交易的股票数量。(我猜是旋转的条形图,而不是旋转的直方图)

建议(或链接到以前的解决方案)是非常欢迎的。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-07-10 10:01:09

ggridges可能会提供你想要的功能。下面是一个使用来自the ggridges vignetteiris数据的略微调整的示例。

代码语言:javascript
复制
library(ggridges)
ggplot(iris, aes(x = Sepal.Length, y = Species)) +
    geom_density_ridges(stat = "binline", bins = 20, scale = 1, draw_baseline = FALSE) +
    coord_flip()

这是另一个例子,它使用了一些更接近你的例子图的模拟数据。

代码语言:javascript
复制
# Sample data
library(zoo)
set.seed(2017)
date <- seq.POSIXt(ISOdate(2018, 7, 9), ISOdate(2018, 7, 15), by = "min")
x <- zoo(cumsum(1 + round(20 * rnorm(length(date)), 2)), date)

library(tidyverse)
library(ggridges)

让我们创建类似于示例图的左侧和右侧面板中的图。

左侧面板plot

代码语言:javascript
复制
as.data.frame(x) %>%
    rownames_to_column("date") %>%
    mutate(date = as.POSIXct(date)) %>%
    ggplot(aes(date, x)) +
    geom_line()

右侧面板plot

代码语言:javascript
复制
as.data.frame(x) %>%
    rownames_to_column("date") %>%
    mutate(date = as.factor(as.Date(date))) %>%
    ggplot(aes(x, date)) +
    geom_density_ridges(stat = "binline", bins = 50, scale = 1, draw_baseline = FALSE) +
    coord_flip()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51256222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档