我是R的入门者,我尝试用它来绘制简单的条形图。想法是获取给定区域中存在的各种土壤类型的面积值,计算每种土壤的百分比份额,并将其绘制为垂直条。一切工作正常,希望我似乎找不到找到将yaxis刻度标签更改为斜体的方法,这是命名它们时的常见做法。下面,我介绍到目前为止的代码。
我似乎找不到合适的参数来将tickfont更改为斜体,我已经尝试过font.main = 3
,face = 'italic'
和font = 3
,但似乎没有任何作用。我知道下面显示的清单f3
对刻度图的刻度大小有影响,只是似乎没有什么使斜体变斜。
f3 <- list(family = "Arial, sans-serif", size =10, color = "black", font = 3)
b <- list(title = "Soil grouping", titlefont = f2, tickfont = f3)
p <- plot_ly(x, y = ~Soil, x = ~pro, type = 'bar', orientation = "h") %>% layout(xaxis = a, yaxis = b)
我希望获得与链接的图类似的图,只是土壤名称用斜体表示。预先感谢
答案 0 :(得分:0)
不幸的是,这不适用于默认参数。但是plot_ly确实为我们提供了将HTML代码用于标签/标记的机会。因此,一种解决方法是使用您的数据名称并将其包装为HTML。我将ticktext
替换为tickvals
,并将其替换为HTML命令中包含的相同值。
由于您未提供完整数据,因此我使用了公共数据集:
plot_ly(iris, x=~Sepal.Length, y=~Species, type = 'bar', orientation = "h") %>%
layout(yaxis =
list(title = "Soil grouping",
ticktext = sprintf("<i>%s</i>", levels(factor(iris$Species))),
tickvals = levels(factor(iris$Species))
)
)
为此,我使用sprintf
并用
iris$Species
的不同名称
<i></i>
这是HTML的代码-“将字母之间用斜体表示”。
可以使用粗体<b></b>
。
输出符合预期:
现在可以轻松地为您的任务修改此代码。