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
相关产品推荐
相关产品推荐

