Как исправить диапазон громкости во 2-й оси Y - PullRequest
0 голосов
/ 02 февраля 2019

Мой полный код:

import matplotlib.pyplot as plt
plt.style.use('ggplot')
import pandas as pd
import numpy as np

path = 'C:\\MyPath\\File1.txt'
dff = pd.read_csv(path, sep=",")
dff.columns = ['Date','Time','Price','Volume']
dff.plot('Time', ['Price', 'Volume'], secondary_y='Volume')
plt.show()

У меня есть DataFrame с ценовым объемом, и я использую приведенный ниже синтаксис для построения Volume во второй оси Y.

dff.plot('Time', ['Price', 'Volume'], secondary_y='Volume')

Мои данные в столбце Volume колеблются от 0 до 500.Когда я строю график с использованием вышеуказанного синтаксиса, вторая ось Y принимает максимум и минимум Volume и автоматически регулирует диапазон.

Мне нужно зафиксировать скобку на второй оси Y при построении графика,Я хочу диапазон Volume как 0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500

Образец данных:

       Date        Time      Price     Volume
72612  31/01/2019  15:26:58  135.85    100
72613  31/01/2019  15:27:02  135.90    110
72614  31/01/2019  15:27:03  135.95    140
72615  31/01/2019  15:27:07  135.95    100
72616  31/01/2019  15:27:10  135.85    60
72617  31/01/2019  15:27:11  135.90    150
72618  31/01/2019  15:27:13  135.95    100
72619  31/01/2019  15:27:15  135.95    100
72620  31/01/2019  15:27:18  135.95    30
72621  31/01/2019  15:27:22  135.95    10

Образец изображениядля большей ясности

enter image description here

1 Ответ

0 голосов
/ 02 февраля 2019

Поскольку вы хотите контролировать / изменять вторичные метки оси y, я бы использовал немного другой подход к построению графика: построение одного столбца за раз.После того, как вы нанесете на карту вторичные данные оси Y, вы можете переопределить метки галочек по умолчанию, предоставив список желаемых меток галочек.На основе предоставленного вами фрейма данных ниже приведен один из способов сделать это

# Read in your dataframe here

ax  = dff.plot('Time','Price')
ax2 = dff.plot('Time','Volume', ax=ax, secondary_y=True)

y_ticks = range(0, 501, 50)
ax2.set_yticklabels(y_ticks)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...