【问题标题】:Creating xticks in Python plot based on a range基于范围在 Python 图中创建 xticks
【发布时间】:2020-11-27 15:04:15
【问题描述】:

我正在尝试将 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 等的刻度线。

谢谢,

【问题讨论】:

标签: matplotlib xticks


【解决方案1】:

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

不妨试试这样的:

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()

应该给出这样的东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    • 2010-11-02
    相关资源
    最近更新 更多