如何在Plotly X轴上显示所有年份刻度?
问题:强制Plotly图表X轴显示每年刻度
我希望在图表的X轴上展示数据集中的每一个年份。以下是我编写的R语言Plotly代码:
year <- c("2011-01-01", "2012-01-01", "2013-01-01", "2014-01-01", "2015-01-01", "2016-01-01", "2017-01-01", "2018-01-01", "2019-01-01", "2020-01-01", "2021-01-01", "2022-01-01", "2023-01-01", "2024-01-01") value <- c(299, 233, 344, 454, 556, 345, 678, 345, 565, 500, 245, 644, 663, 544) xx <- data.frame(year, value) xx$year <- as.Date(xx$year) plot_ly(xx, type = "scatter", mode = "lines", #color = "lightgreen", line = list(), width = 700, height = 400) |> add_trace(x = ~year, y = ~value, hoverinfo = "y" )
当前生成的图表X轴每两年显示一次刻度,请问能否强制设置为显示每一年的刻度?我可以接受调小字体大小。
解决方案
可以通过layout()函数配置X轴属性,强制显示每年刻度并调整字体大小:
修改后的完整代码
year <- c("2011-01-01", "2012-01-01", "2013-01-01", "2014-01-01", "2015-01-01", "2016-01-01", "2017-01-01", "2018-01-01", "2019-01-01", "2020-01-01", "2021-01-01", "2022-01-01", "2023-01-01", "2024-01-01") value <- c(299, 233, 344, 454, 556, 345, 678, 345, 565, 500, 245, 644, 663, 544) xx <- data.frame(year, value) xx$year <- as.Date(xx$year) plot_ly(xx, type = "scatter", mode = "lines", line = list(), width = 700, height = 400) |> add_trace(x = ~year, y = ~value, hoverinfo = "y") |> layout( xaxis = list( dtick = "M12", # 设置刻度间隔为12个月(每年一个刻度) tickfont = list(size = 10) # 调小刻度字体避免拥挤 ) )
关键配置说明
dtick="M12":明确指定X轴刻度间隔为12个月,确保每个年份都生成一个刻度tickfont = list(size = 10):缩小刻度字体大小,防止年份标签重叠,你可以根据图表宽度调整这个数值
内容的提问来源于stack exchange,提问作者JontroPothon
相关产品推荐
相关产品推荐

