如何在 r 中使用 plotly 更改 x 轴布局 [英] How to change x-axis layout using plotly in r
问题描述
我正在尝试自定义 x 轴.我目前在 x 轴上有站点"变量.范围是从 15 到 24,每个数字都有站点 a 和 b,即对于 15,有 15a 和 b(依此类推到 24).当我标记所有条形时,它看起来很乱,我正在尝试对其进行自定义,例如,数字 15 在下方,但单个条形标记为 a 和 b.这样,各个酒吧将是可识别的,但看起来不会那么拥挤.
I'm trying to customise the x-axis. I currently have the "Site" variable on the x-axis. The range is from 15 to 24 with site a and b for each number i.e. for 15, there is 15a and b (and so on to 24). When I label all bars, it looks messy and I'm trying to customise it so for example, the number 15 is below but the individual bars are labelled a and b. This way, the individual bars will be identifiable but it won't look so crowded.
这是我目前的代码:
#Stacked bar chart exp2
BarChartData2 <- read.csv("Bar chart data exp 2.csv")
Site <- BarChartData2[,4]
Card <- BarChartData2[,2]
Pen <- BarChartData2[,3]
data2 <- data.frame(Site, Card, Pen)
pstacked2 <- plot_ly(data2, x = ~Site, y = ~Card, type = 'bar', name = 'Card', marker = list(color = 'Black')) %>%
add_trace(y = ~Pen, name = 'Pen', marker = list(color = 'red')) %>%
layout(yaxis = list(title = 'Number of Bee Visits'), barmode = 'stack', font = list(family = 'Times New Roman', size =14, color ="black"), xaxis = list(autotick = F, dtick = 2))
pstacked2
任何有关如何执行此操作的帮助/其他想法将不胜感激!
Any help/other ideas of how to do this will be much appreciated!
推荐答案
这里有一些可以帮助你的东西.你可以使用 shapes
和 annotations
来获得你想要的东西.
Here is something to help you. You can play with shapes
and annotations
to get exatly what you want.
plot_ly(data2, x = ~Site, y = ~Card, type = 'bar', name = 'Card', marker = list(color = 'Black')) %>%
add_trace(y = ~Pen, name = 'Pen', marker = list(color = 'red')) %>%
layout(yaxis = list(title = 'Number of Bee Visits'),
barmode = 'stack',
font = list(family = 'Times New Roman', size =14, color ="black"),
xaxis = list(autotick = F, dtick = 2),
margin = list(
r = 10,
t = 25,
b = 100,
l = 110
),
shapes = list(
list(
line = list(
color = "rgba(68, 68, 68, 0.5)",
width = 1
),
type = "line",
x0 = 0,
x1 = 1,
xref = "paper",
y0 = -0.05,
y1 = -0.05,
yref = "paper"
)
),
annotations = list(
list(
x = 0.04,
y = -0.1,
showarrow = FALSE,
text = "15",
xref = "paper",
yref = "paper"
),
list(
x = 0.14,
y = -0.1,
showarrow = FALSE,
text = "16",
xref = "paper",
yref = "paper"
),
list(
x = 0.24,
y = -0.1,
showarrow = FALSE,
text = "17",
xref = "paper",
yref = "paper"
),
list(
x = .35,
y = -0.1,
showarrow = FALSE,
text = "18",
xref = "paper",
yref = "paper"
),
list(
x = .45,
y = -0.1,
showarrow = FALSE,
text = "19",
xref = "paper",
yref = "paper"
),
list(
x = .55,
y = -0.1,
showarrow = FALSE,
text = "20",
xref = "paper",
yref = "paper"
),
list(
x = .65,
y = -0.1,
showarrow = FALSE,
text = "21",
xref = "paper",
yref = "paper"
),
list(
x = .75,
y = -0.1,
showarrow = FALSE,
text = "22",
xref = "paper",
yref = "paper"
),
list(
x = .85,
y = -0.1,
showarrow = FALSE,
text = "23",
xref = "paper",
yref = "paper"
),
list(
x = .95,
y = -0.1,
showarrow = FALSE,
text = "24",
xref = "paper",
yref = "paper"
)
)
)
这篇关于如何在 r 中使用 plotly 更改 x 轴布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!