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