python - matplotlib图形水平轴标签自动对齐或重新缩放

标签 python matplotlib

我试图使用 matplotbib 绘制时间序列数据图,问题是观察值太多,因此标签重叠并且不太适合大小的图形。

我正在考虑三种解决方案,一种是缩小观察值的标签大小,一种是将文本更改为垂直顺序或倾斜方式,最后是仅指定第一个和最后几个观察值,它们之间有点。该代码是为了证明我的观点。

我想知道有人可以帮忙吗?谢谢

from datetime import date
import numpy as np
from pandas import *
import matplotlib.pyplot as plt

N = 100
data = np.array(np.random.randn(N))
time_index = date_range(date.today(), periods = len(data))
plt.plot(time_index, data)

最佳答案

对于你的简单情节,你可以这样做

plt.xticks(rotation=90).

或者,您可以使用

指定要显示的刻度
plt.xticks(<certain range of values>)
plt.xticklabels(<labels for those values>)

编辑:

就我个人而言,我会改用面向对象的 pyplot 方式。

f = plt.figure()
ax = f.add_subplot(111)

ax.plot(<stuff>)
ax.tick_params(axis='x', labelsize='8')

plt.setp( ax.xaxis.get_majorticklabels(), rotation=90 )
# OR
xlabels = ax.get_xticklabels()
for label in xlabels:
    label.set_rotation(90)

plt.show()

关于python - matplotlib图形水平轴标签自动对齐或重新缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17370430/

相关文章:

Python:Numpy 将数组的每一行与另一个数组的每一行相乘

python - 使 Python 脚本在 MAMP 上运行

python - 为 AxesImage 自定义刻度?

macos - MacoS 上 "Matplotlib is building the font cache using fc-list. This may take a moment."的问题

python - 如何使用 matplotlib 将半极坐标图设置为北

python - 出现错误 "AttributeError: ' numpy.ndarray' 对象没有属性 'lower'“在单词标记器中

python - 备份 ZODB blob 的正确方法是什么?

python - 如何仅从 Bigquery 客户端中的 insert_rows_from_dataframe 方法获取错误?

python - 在 imshow::matplotlib 中记录 x 尺度

python - 从加权边列表创建有向加权网络图