У меня вопрос о читабельности сюжета.Я прочитал несколько похожих вопросов о StackOverflow, но ни один из них полностью не решил проблему.
У меня есть текстовый файл со 100 значениями абсцисс и ординат.Я хочу построить их, но на осях X я хочу, чтобы отображались только указанные значения тиков.Например: 1, 2, 3, 4, 5, 44, 88 и 99 баллов.Это только то, что я хочу для лучшей читабельности, потому что я все равно хочу изобразить все точки.Я попробовал:
import matplotlib.pyplot as plt
import numpy as np
plt.xlabel("Values")
plt.ylabel("Percentage")
for i in range(99):
try:
filename = "Folder_Name/foo_%d.txt" % i
filevals = np.loadtxt(filename, usecols=1)
idx = [1, 2, 3, 4, 5, 44, 88, 99]
y = [filevals[k]*100 for k in idx]
plt.plot(range(len(idx)), y, 'o-', label="values_foo_%s" % i)
plt.xticks(range(len(idx)), idx)
except IOError or IndexError:
break
plt.legend(loc=4)
plt.grid(True)
plt.tight_layout()
plt.savefig("plot_test.pdf")
plt.close()
В результате, конечно, полученный график отображает только те значения, которые игнорируют другие точки, и, как следствие, расстояние между 5-й и 44-й точками одинаковокак между 4-м и 5-м.