我目前正在使用R中的Plotly,试图创建一个条形图.下面,你可以找到我的数据和代码.

# Generating artificial data
set.seed(42)  # for reproducibility
n <- 50  # Number of data points
dat <- data.frame(
  PRODUCT_INDUSTRY_CODE = factor(sample(1:10, n, replace = TRUE)),
  revenue_before = runif(n, min = 100, max = 1000),  # Random values for revenue_before
  revenue_after = runif(n, min = 100, max = 1000),   # Random values for revenue_after
  PRODUCT_INDUSTRY_NAME = sample(c("Industry A", "Industry B", "Industry C", "Industry D", "Industry E"), n, replace = TRUE)
)

# Plotting
plt <- plot_ly(dat) %>% 
  add_trace(x = ~PRODUCT_INDUSTRY_CODE,  y = ~revenue_before, type = 'bar', name = 'Tax rate 1',hoverinfo = 'text', text = ~PRODUCT_INDUSTRY_NAME) %>% 
  add_trace(x = ~PRODUCT_INDUSTRY_CODE,  y = ~revenue_after, type = 'bar', name = 'Tax rate 2', hoverinfo = 'text', text = ~PRODUCT_INDUSTRY_NAME) %>% 
  layout(
    xaxis = list(title = ''), 
    yaxis = list(title = ''),
    barmode = 'group',
    title = ' '
  ) %>%
  layout(legend = list(orientation = 'h'))  # Set legend orientation to horizontal

plt

enter image description here

虽然代码成功地生成了条形图,但我遇到了一个新问题.

具体地说,文本出现在图表上的条形图中,这不是预期的结果.

我只希望这个文本是可见时,悬停在wine 吧与鼠标,而不是wine 吧本身.

有谁能就如何解决这个问题提供帮助吗?

推荐答案

你可以使用textposition="none"来删除条内的文本,使用hovertemplate来获得正确的悬停,如下所示:

library(plotly)
library(dplyr)

plt <- plot_ly(dat) %>% 
  add_trace(x = ~PRODUCT_INDUSTRY_CODE,  y = ~revenue_before, type = 'bar', name = 'Tax rate 1',hoverinfo = 'text', text = ~PRODUCT_INDUSTRY_NAME,
            textposition = "none", hovertemplate = "%{text}") %>% 
  add_trace(x = ~PRODUCT_INDUSTRY_CODE,  y = ~revenue_after, type = 'bar', name = 'Tax rate 2', hoverinfo = 'text', text = ~PRODUCT_INDUSTRY_NAME,
            textposition = "none", hovertemplate = "%{text}") %>% 
  layout(
    xaxis = list(title = ''), 
    yaxis = list(title = ''),
    barmode = 'group',
    title = ' '
  ) %>%
  layout(legend = list(orientation = 'h'))  # Set legend orientation to horizontal

plt

创建于2024—03—20,reprex v2.0.2

R相关问答推荐

如何在弹性表中为类别值的背景上色

卸载安装了BRM的模型发出的警告

使用预定值列表将模拟数量(n)替换为rnorm()

过滤矩阵以获得R中的唯一组合

如何替换R中数据集列中的各种字符串

R:更新后无法运行控制台

如果行和大于值,则过滤

selectInput不返回ALL,并将因子转换为shiny 的数字

在ggplot2中更改小提琴情节的顺序

使用列/行匹配将两个不同维度的矩阵相加

如何对2个列表元素的所有组合进行操作?

如何识别倒排的行并在R中删除它们?

Data.table';S GForce-将多个函数应用于多列(带可选参数)

如何将网站图像添加到带有极坐标的面包裹条形图?

您是否可以将组添加到堆叠的柱状图

在R中创建连续的期间

使用R将简单的JSON解析为嵌套框架

为什么我对圆周率图的蒙特卡罗估计是空的?

按组和连续id计算日期差

R预测包如何处理ARIMA(Auto.arima函数)中的缺失值