如何在R中使用plotly包生成对数刻度图时更改刻度值?

4
这是一个可重现的例子,我所指的是:
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 的位置显示刻度值,然后在 10 和 100、100 和 1000 之间使用隐含的零。为了更易于解释,我希望保留那些零。 当前的图表对某些人来说很令人困惑,所以我想澄清一下。

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

2个回答

2

我一直在添加

tickformat = ".1r"

对于轴,它是有效的。但是,如果您使用大数字,它看起来不太好。


这个对我在Python中也起作用,我使用了: fig.update_layout(yaxis_tickformat = "0.1r") - dllahr

0

如果y轴范围足够宽,您可以使用:

tickformat: "f"

短距离内,您会获得重复的值:1, 1, 1, 2, 2, ...

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接