R请将图号更改为斜体

时间:2019-05-06 09:43:58

标签: r plotly

我是R的入门者,我尝试用它来绘制简单的条形图。想法是获取给定区域中存在的各种土壤类型的面积值,计算每种土壤的百分比份额,并将其绘制为垂直条。一切工作正常,希望我似乎找不到找到将yaxis刻度标签更改为斜体的方法,这是命名它们时的常见做法。下面,我介绍到目前为止的代码。

plot

我似乎找不到合适的参数来将tickfont更改为斜体,我已经尝试过font.main = 3face = '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)

我希望获得与链接的图类似的图,只是土壤名称用斜体表示。预先感谢

1 个答案:

答案 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>

输出符合预期:

Plot

现在可以轻松地为您的任务修改此代码。