Существует точечная диаграмма, построенная с помощью Matplotlib, которая имеет больше точек, чем может содержать нижняя ось, поэтому числа начинают перекрывать друг друга, есть ли способ повернуть их в определенной степени или, по крайней мере, сделать их вертикальными? Глядя на Do c, я нашел способ поворота меток, но есть ли способ поворота чисел тоже?
Конечный результат, о котором я думаю, примерно такой:
![final-result](https://i.stack.imgur.com/3ctly.png)
И если это невозможно, есть ли способ показать числа, указанные только с диапазоном, и скрыть точные координаты x всех точек? (Это именно то поведение, которое я получаю, если использую предварительно заданные числа, например, если ось x находится в диапазоне от 0 до 20, помещает 0, 5, 10, 15 и 20 на ось x.
Но на этой диаграмме я получаю точки из API (живой график), поэтому точки добавляются непрерывно, и по некоторым причинам matplotlib ведет себя по-разному и не устанавливает пределы диапазона, которые я указал на оси x из оси начало. Вместо этого он продолжает помещать координату X всех чисел на оси X, что приводит к их перекрытию.
import requests
import matplotlib.pyplot as plt
from matplotlib import animation
fig = plt.figure()
location_axes = fig.add_subplot(1,1,1)
xs = []
ys = []
def get_current_location(i):
response = requests.get("http://api.open-notify.org/iss-now.json")
response_json = response.json()
if(response.status_code == 200):
location_axes.clear()
xs.append(response_json['iss_position']['longitude'])
ys.append(response_json['iss_position']['latitude'])
location_axes.scatter(
xs,
ys
)
else:
raise ConnectionError("A connection error occured while retrieving the data")
location_axes.set_xlim([-180,180])
location_axes.set_ylim([-90,90])
plt.grid(True)
# plt.xtick(rotation=45)
anim = animation.FuncAnimation(fig, get_current_location, interval=1000)
plt.show()