如何使绘图轴仅显示整数

问题描述 投票:0回答:3

我在一个闪亮的应用程序中有一个绘图条形图,在 X 轴上显示因子水平。但在某些数量的输入(2、3、4)上,它显示 1.5、2.5 等标记(参见图像)。那么有一个问题:我可以以某种方式让X轴标记只显示整数值吗?

r plotly
3个回答
16
投票

tickformat=',d'

假设属性与我测试的Python中的相同:-),你可以设置:

layout(xaxis=list(tickformat=',d'))

其中有效值为 D3 格式。

另请参阅:https://community.plot.ly/t/restrict-axis-ticks-labels-to-only-show-int-values/3503/4


6
投票

plotly
正在猜测您的轴类型,因为您的簇标签是数字。您可以通过在绘图之前/时将 x var 强制为一个因子来解决此问题。

library(plotly)
library(dplyr)
mtcars_by_gear <- count(mtcars,gear)

plot_ly(mtcars_by_gear,
        x=~as.factor(gear), 
        y=~n)

如果您想进一步控制轴标签,您可以使用

layout()
函数的刻度参数,但因子选项似乎更适合您的情况。

plot_ly(mtcars_by_gear,
        x=~gear, 
        y=~n, 
        type="bar") %>% 
  layout(xaxis=list(tickvals=~gear,ticktext=~gear))

0
投票

如果使用Python:

fig = px.bar(df, x='x', y='y', title="Count")
fig.update_layout( xaxis={
    'range': [df['x'].min(), df['x'].max()], 
    'tickvals': [*range(int(df['x'].min()), int(df['x'].max()))]
})
fig.show()
© www.soinside.com 2019 - 2024. All rights reserved.