假设你已经给出了一个很长的框架,其中包含了热图所需的所有数据。有没有一种优雅的方法来决定类别在轴上出现的顺序?
让我给予你一个例子:
library(highcharter)
long_data <- data.frame("xaxis"=c("startX","startX","secondX","secondX","lastX","lastX"),
"yaxis"=c("Y2","Y1","Y2","Y1","Y1","Y2"),
"value"=c(12,11,22,21,31,32))
highchart(type = "chart") %>%
hc_add_series(long_data, hcaes(x = xaxis, y = yaxis, value = value), type = 'heatmap',
showInLegend = T, name = "showcase", dataLabels = list(enabled = T)) %>%
hc_colorAxis(list(minColor = "blue", maxColor = "red"))
给
两个问题:
我怎么知道0,1和2是什么意思?作为一名程序员,我似乎没有办法在不查看原始数据的情况下找到答案。
我希望能够决定x轴和y轴的顺序,比如startX,secondX,lastX(从左到右)和Y1,Y2(从上到下)。我该怎么做?理想情况下,我不想依赖于long_data
中的顺序,而是在highcharts中设置一个参数来完成这一任务。
1条答案
按热度按时间sd2nnvve1#
如果你想要轴标签而不是数字,你可以切换到
hchart()
,它在后台调用hc_xAxis
和hc_yAxis
,并从你的数据中添加标签。或者您可以手动执行此操作,例如:hc_xAxis(categories = sort(unique(long_data$xaxis)))
。关于轴上类别的顺序,正如@Jamie在评论中指出的那样,我们可以使用例如:
hc_yAxis(reversed = TRUE)
(在y轴的情况下),还有一个dataSorting
选项可以根据另一列对类别进行重新排序。除此之外,一个选项是通过转换为因子来设置顺序,其中水平的顺序根据您想要的顺序设置,例如。在下面的代码中,我颠倒了
yaxis
的顺序: