Quero que os rótulos do eixo x sejam exatamente como no arquivo, mas ele está convertendo-os. Além disso, não quero a linha preta grossa acima dos rótulos. E gostaria que o gráfico se estendesse totalmente para ambos os lados da área, sem os espaços vazios à esquerda e à direita.
script python:
#!/usr/bin/python3
import matplotlib.pyplot as plt
import numpy as np
a,b = np.genfromtxt("test01.txt", usecols=(0,1), unpack=True, delimiter="\t", dtype='str')
y = list(map(float, b))
plt.figure(figsize=(9, 5))
plt.plot(a, y, linewidth=0.7)
xticks = plt.xticks()[0]
xtick_labels = ["" if i % 100 != 0 else x for i, x in enumerate(xticks)]
plt.xticks(xticks, xtick_labels, fontsize=8)
plt.xticks(rotation=90)
plt.yticks(np.arange(100, 185, 5))
plt.ylim(110, 185)
plt.xlabel("Time")
plt.ylabel("Temp in F")
plt.show()
dados de exemplo do arquivo:
00:00:02 170.9
00:00:03 171.7
00:00:04 171.9
00:00:04 171.8
00:00:05 171.4
00:00:06 170.9
00:00:07 170.1
00:00:08 169.4
00:00:09 168.5
00:00:10 167.6
Se o que você deseja fazer é usar as strings no arquivo como rótulos dos x -ticks, você deve proceder com cuidado:
positions
etexts
p
et
armazenar as posições e os textos que queremos no desenho finalp
et
, coloque os pares selecionados no desenho finalPor fim, gire os rótulos e prescreva um layout compacto, caso contrário, os rótulos ficarão truncados.