仅显示X轴p的第一个和最后一个刻度标签

2024-04-26 11:53:26 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我不需要所有的标签都在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()

谢谢你!在


Tags: inimporttrueforplotmyasline
1条回答
网友
1楼 · 发布于 2024-04-26 11:53:26

使用x记号,可以提供一个列表。所以你可以:

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

顺便说一下,您可以使用以下方法获取原始记号:

^{pr2}$

其中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(..)`

相关问题 更多 >