gpt4 book ai didi

python - 仅显示 x 轴图的第一个和最后一个刻度标签

转载 作者:行者123 更新时间:2023-12-04 02:02:21 25 4
gpt4 key购买 nike

我正在解析一个日志文件并创建一个图。

我不需要 X 轴上的所有标签。我只想显示第一个和最后一个或其中的几个,每个步骤都有特定的步骤,比如每 100 个。

我怎么能做到这一点?我只能显示第一个或最后一个,但不能同时显示。

我的代码:

import numpy as np
import pylab as pl
import matplotlib.pyplot as plt

with open('file.log') as f:
lines = f.readlines()
x = [int(line.split(',')[0]) for line in lines]
my_xticks = [line.split(',')[1] for line in lines]
y = [int(line.split(',')[2]) for line in lines]
z = [int(line.split(',')[3]) for line in lines]

plt.xticks(x, my_xticks[0], visible=True, rotation="horizontal")
plt.xticks(x, my_xticks[-1], visible=True, rotation="horizontal")

plt.plot (x,z)
plt.plot (x,z)
plt.plot(x, y)


plt.show()

谢谢!

最佳答案

使用 x-ticks,您可以提供一个列表。所以你可以这样做:

plt.xticks([my_xticks[0], my_xticks[-1]], visible=True, rotation="horizontal")

顺便说一句,您可以使用以下方法获取原始刻度:
my_xticks = ax.get_xticks()

哪里 ax是你的 Axes实例。您甚至可以提供自己的值:
plt.xticks(
[my_xticks[0], my_xticks[-1]],
['{:.2}'.format(my_xticks[0]), '{:.2}'.format(my_xticks[-1])]
visible=True, rotation="horizontal")

等等。你可以看到这是多么容易推广......

请记住,刻度标签是指特定的 Axes图中。所以理想情况下你应该这样做:
`ax.set_xticks(..)`

关于python - 仅显示 x 轴图的第一个和最后一个刻度标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46310711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com