我正试图通过r studio中的高图来构建柱形图 . 我已将值转换为%,因为我希望图表显示%,但我希望数据标签显示值,有没有办法做到这一点?
我的数据集有一个列,其中包含伦敦的值和伦敦的百分比,我希望图表的Y轴显示%,而数据标签显示该值 .
这是我目前的代码:
hc <- highchart() %>%
hc_title(text= "Gender - London")%>%
hc_colors('#71599b') %>%
hc_yAxis(max = 0.7) %>%
hc_xAxis(categories = Sex$Gender) %>%
hc_add_series(name = "London", type = "column",
data = Sex$LON_PERC, dataLabels = list(enabled=TRUE, format={Sex$London}) )
所以,我把Sex $ LON_PERC(在伦敦的百分比)作为数据来绘制,而Sex $ London是数据标签 .
但是这段代码将伦敦的所有值都放在每个数据标签中 .
编辑:
这是我试图绘制的数据,Y轴上的LON_PERC,X轴上的性别和数据标签中的伦敦
Gender London LON_PERC
Declined 5 0.000351247
Female 8230 0.578152441
Male 4640 0.325957148
No Data 1360 0.095539164
2 回答
我对使用'highcharter'包装感到非常不舒服,因为它需要商业许可证,我没有 .
您可以使用
base r
或ggplot
功能使用以下相当简单的代码来实现您想要实现的结果,这两个代码都是免费软件 . 我将在下面展示两个代码片段 .使用base r的解决方案
barplot
函数返回一个向量(当besides
为假时),其中绘制条形的所有中点的坐标(如果besides
为真,则为矩阵) . 这为我们提供了在条形图上方设置文本的X坐标,我们在绘制的数据中已经具有的条形高度,对 .这产生以下图:
基于ggplot的解决方案
产生以下情节:
在这两种情况下,许多特征可能会适应您的需求/愿望 .
我希望你从这些例子中受益,即使它不是用高级图表制作的 .
我找到了一个解决方法 .
所以,我可以添加一个“工具提示”,当我将鼠标悬停在列/栏上时会出现 .
首先,需要一个功能:
然后在创建高亮图时需要调用此函数 .
数据如下:
然后生成高图的代码是:
这给出了以下输出:
然后,当我将鼠标悬停在每个栏/栏上时,它会显示%信息和数字信息,如下所示: