如何更改用R中的plotly包生成的对数比例图的刻度值?

时间:2018-08-23 15:14:13

标签: r r-plotly

以下是我所指的可复制示例:

library(plotly)
s<-seq(1,8)
p<-plot_ly(x=~s) %>%
add_trace(y=~exp(s),name="exponential") %>%
add_trace(y=~s,name="linear") %>%
layout(yaxis=list(type="log"))
# Create a shareable link to your chart
# Set up API credentials : https://plot.ly/r/getting-started
chart_link=api_create(p,filename="axes-6")
chart_link

enter image description here

从理论上讲,我想要做的事情很简单,但是我一生无法找到有人做到这一点的例子。我要做的就是更改y轴刻度标记的方式。我不想使用10到100、100和1000之间的隐含零,而是想保留零在此以便于解释。当前的演示有些令人困惑,我想澄清一下。

非常感谢您提供有关此问题的任何帮助。预先感谢。

2 个答案:

答案 0 :(得分:0)

对于足够宽的y范围,您可以使用:

fmap

不幸的是,对于短距离,您将获得重复的值:tickformat: "f"

唯一可行的解​​决方案是设置1, 1, 1, 2, 2, ...tickvals或在[0, 1, 2, 5, 10, 20, 50...]循环中生成它们。

试图使用GitHub d3-format/ReadMe: locale.format(specifier),但没有成功。

答案 1 :(得分:0)

我一直在添加

tickformat = ".1r"

到轴,它起作用。但是,如果您使用的数字很大,那看起来就不好了。