我是 R 的初学者,我尝试用它来绘制简单的条形图。这个想法是获取给定区域中存在的各种土壤类型的面积值,计算每种土壤类型的百分比份额并将其绘制为垂直条形图。一切工作正常,除了我似乎无法找到一种方法将 yaxis 刻度标签更改为斜体,这是命名它们时的常见做法。下面我展示到目前为止的代码。
我似乎找不到合适的参数来使用它将刻度字体更改为斜体,我已经尝试过font.main = 3
, face = 'italic'
and 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)
我希望获得与链接的图表类似的图表,只是土壤名称以斜体显示。提前致谢
不幸的是,这对于默认参数不可用。但plot_ly 确实让我们有机会使用 HTML 代码作为标签/刻度。因此,解决方法是使用您的数据名称并将其包装在 HTML 中。我替换为ticktext
the 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
with
<i></i>
这是“将字母置于斜体之间”的 HTML 代码。
为粗体<b></b>
可以使用。
输出如预期:
现在可以根据您的任务轻松修改此代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)