0

我正在尝试将 Python 图表中的 xticks 从一长串 280 个值(所有数字)更改为仅显示每 20 个左右。这是我一直在玩的代码:

p = 20
ax.xaxis.set_ticks(range(0,len(x), p), [x[i] for i in range(len(x)) if i % p == 0])

我也尝试过使用函数 ax.set_xticks ,但两者都没有给我我所希望的只是值 0、20、40、60 等的刻度线。

谢谢,

4

1 回答 1

0

我认为您可以在适当的位置插入一个空标签!

也许尝试这样的事情:

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(10)
y=2*x
plt.figure()
plt.plot(x,y)
locs, labels=plt.xticks()
x_ticks = []

step=3
new_xticks=[]
for x in locs:
  if (x % step == 0):
    new_xticks.append(x)
  else:
   new_xticks.append(None)

plt.xticks(locs,new_xticks, rotation=45, horizontalalignment='right')
plt.show()

哪个应该给出这样的东西

在此处输入图像描述

于 2020-11-27T15:31:32.133 回答