我正在使用字符串作为x标签绘制数据.我想控制标签频率,以免文本轴过载.在下面的示例中,我希望每3个刻度只看到一个标签:adgj.
我可以这样做的一种方法是每n个元素用2个空字符串替换my_xticks元素.但我确信它提供了一种更清洁的方法.
这是代码:
import numpy as np import matplotlib.pyplot as plt y=np.array([4,4,4,5,5,6,5,5,4,4,4]) x = np.arange(y.shape[0]) my_xticks=['a','b','c','d','e','f','g','h','i','j','k'] plt.xticks(x, my_xticks) plt.plot(x, y)
rafaelvalle.. 7
你快到了!以所需频率对xticks的第一个和第二个参数进行采样!
问题是重复更改matplotlib中x或y轴上的"滴答频率"?
import numpy as np import matplotlib.pyplot as plt y = np.array([4,4,4,5,5,6,5,5,4,4,4]) x = np.arange(y.shape[0]) my_xticks = np.array(['a','b','c','d','e','f','g','h','i','j','k']) frequency = 3 plt.plot(x, y) plt.xticks(x[::frequency], my_xticks[::frequency])
你快到了!以所需频率对xticks的第一个和第二个参数进行采样!
问题是重复更改matplotlib中x或y轴上的"滴答频率"?
import numpy as np import matplotlib.pyplot as plt y = np.array([4,4,4,5,5,6,5,5,4,4,4]) x = np.arange(y.shape[0]) my_xticks = np.array(['a','b','c','d','e','f','g','h','i','j','k']) frequency = 3 plt.plot(x, y) plt.xticks(x[::frequency], my_xticks[::frequency])