почему мой график matplotlib выглядит квантованным по оси x?

#python #pandas #matplotlib

#python #pandas #matplotlib

Вопрос:

У меня есть график с ценами, отображаемыми с помощью QT5Agg. Он интерактивный, где мы можем увеличивать масштаб и т.д.

При взгляде на него вблизи это ужасно:

введите описание изображения здесь

В то время как при уменьшении масштаба он выглядит хорошо.

Сосредоточив внимание на верхней части, вот код:

 # subplot 1 - price
ax1.plot(df['timestamp'], df['price'], color='midnightblue', alpha=0.6, zorder=0)
ax1.plot(df['timestamp'], df['order_long_price'], color='lightgreen', alpha=0.6, zorder=1)
ax1.plot(df['timestamp'], df['order_short_price'], color='orangered', alpha=0.6, zorder=1)
ax1.plot(df['timestamp'], df['break_even_long'], color='limegreen', linewidth=2, zorder=2)
ax1.plot(df['timestamp'], df['break_even_short'], color='crimson', linewidth=2, zorder=2)
ax1.plot(df['timestamp'], df['break_even_hedge'], color='fuchsia', linewidth=2, zorder=2)
ax1.set_ylabel('price USDT')
ax1.margins(x=0)
  

Временная метка сильно нерегулярна, она соответствует реальным рыночным сделкам, и некоторые области плотные, некоторые разреженные. У меня примерно 1 млн значений, охватывающих 7 дней.

Похоже, что позиции x каким-то образом квантованы, потому что есть вертикальные линии, и они, кажется, происходят через регулярные промежутки времени. Я понимаю, что два значения, происходящие с коротким интервалом, будут выглядеть как вертикальная линия, но данные по оси x кажутся довольно блочными для чего-то, что имеет точность в мс.

Почему это может быть?

Комментарии:

1. я предлагаю использовать plotly. он интерактивный и хорошо выглядит

2. Может быть, вы просто увеличили масштаб до близкого? Я имею в виду, что по вашей оси x действительно трудно определить.. Вы могли бы попробовать отобразить свои данные в виде точечной диаграммы и посмотреть, могут ли ваши данные выглядеть именно так?