You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言使用Highcharter库复现barplot情感分析交互式条形图

基于Highcharter实现R语言情感分析交互式条形图

实现逻辑和基础barplot完全一致:先计算每类情感的总和,再传入highcharter绘制柱状图即可,最终输出响应式交互式图表。


完整可运行代码

# 加载依赖包,未安装的话先运行install.packages(c("highcharter", "dplyr"))
library(highcharter)
library(dplyr)

# --------------------------
# 如果你已经有数据集s可以跳过这段构造代码
s <- data.frame(
  anger = c(0,0,0,0,0,0,0),
  anticipation = c(2,0,0,2,0,3,0),
  disgust = c(0,0,0,0,0,0,0),
  fear = c(0,0,0,0,0,0,0),
  joy = c(2,1,0,2,1,2,0),
  sadness = c(0,0,0,0,0,0,0),
  surprise = c(1,0,0,1,0,1,0),
  trust = c(2,1,0,2,0,2,0),
  negative = c(0,0,0,0,0,0,0),
  positive = c(3,1,1,2,2,2,0)
)
# --------------------------

# 计算每列总和,和基础绘图的colSums逻辑完全对齐
sentiment_sum <- colSums(s)
sentiment_df <- data.frame(
  sentiment = names(sentiment_sum),
  count = as.numeric(sentiment_sum)
)

# 绘制交互式柱状图
highchart() %>%
  hc_chart(type = "column") %>%
  hc_title(text = "Sentiment Scores") %>%
  hc_yAxis(title = list(text = "Count")) %>%
  # 对应base绘图的las=3参数,x轴标签垂直显示
  hc_xAxis(categories = sentiment_df$sentiment,
           labels = list(rotation = -90)) %>%
  hc_add_series(name = "分值计数",
                data = sentiment_df$count,
                colorByPoint = TRUE,
                # 对应base绘图的rainbow(10)配色方案
                colors = rainbow(10)) %>%
  hc_plotOptions(column = list(
    showInLegend = FALSE # 隐藏图例,和基础绘图视觉效果对齐
  ))

效果说明

  • 生成的图表支持鼠标悬停查看具体数值、缩放导出等交互功能,适配不同尺寸的显示设备
  • 所有视觉参数和你原基础绘图的设置完全对应,可直接替换原绘图代码使用
  • 如需自定义悬浮提示、柱子样式等效果,可自行添加hc_tooltip、hc_plotOptions相关参数调整

内容的提问来源于stack exchange,提问作者Inshal Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:36:01