повторить масштаб оси y вдоль линии сетки графика (matplotlib)

1

Я новичок в matplotlib, и я пытаюсь выяснить, могу ли я повторить масштаб оси y значения вдоль линий сетки линейного графика.

График имеет 2 оси, ось x имеет почасовые значения, а ось y имеет значения температуры.

Мне нужно показать график на 48 часов, поэтому он приводит к длинному горизонтальному графику. когда пользователь прокручивает график по горизонтали, он имеет шкалу по оси х, доступную для справки, но ось оси y - путь влево и не видна.

Мне нужен способ повторить масштаб оси Y (значения температуры) по всему графику. Есть ли способ достичь этого?

Есть ли лучшее решение этой проблемы, кроме повторения значений?

Теги:
matplotlib
graph

1 ответ

1
Лучший ответ

Вы можете взглянуть на цветную панель от этот пример:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import EllipseCollection

x = np.arange(10)
y = np.arange(15)
X, Y = np.meshgrid(x, y)

XY = np.hstack((X.ravel()[:,np.newaxis], Y.ravel()[:,np.newaxis]))

ww = X/10.0
hh = Y/15.0
aa = X*9


ax = plt.subplot(1,1,1)

ec = EllipseCollection(
                        ww,
                        hh,
                        aa,
                        units='x',
                        offsets=XY,
                        transOffset=ax.transData)
ec.set_array((X+Y).ravel())
ax.add_collection(ec)
ax.autoscale_view()
ax.set_xlabel('X')
ax.set_ylabel('y')
cbar = plt.colorbar(ec)
cbar.set_label('X+Y')
plt.show()

Быстрый эксперимент показывает, что вы можете панорамировать/масштабировать главное окно, а цветная панель останется постоянной.

  • 0
    Я добился желаемого эффекта, используя клон jQuery, используя несколько тегов div на стороне клиента.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню