В настоящее время я пытаюсь сопоставить цену видеокарты 1080 с ценой биткойна с течением времени, но шкалы оси Y просто далеки. Это мой код до сих пор:
import pandas as pd
from datetime import date
import matplotlib.pyplot as plt
from matplotlib.pyplot import *
import numpy as np
GPUDATA = pd.read_csv("1080Prices.csv")
BCDATA = pd.read_csv("BitcoinPrice.csv")
date = pd.to_datetime(GPUDATA["Date"])
price = GPUDATA["Price_USD"]
date1 = pd.to_datetime(BCDATA["Date"])
price1 = BCDATA["Close"]
plot(date, price)
plot(date1, price1)
И это производит это:
Цены на графические процессоры, конечно же, выделены синим цветом, а цена биткойна — оранжевым. Я новичок в визуализации, и мне трудно найти в Интернете что-нибудь, что могло бы помочь мне решить эту проблему. Некоторые из предложений, которые я нашел здесь, похоже, касаются построения данных из одного источника данных, но мои данные поступают из двух источников данных.
В одном есть записи цены графического процессора в данный день, в другом — цены открытия, закрытия, максимума и минимума биткойнов в данный день. Я изо всех сил пытаюсь найти решение, любые советы будут более чем приветствоваться! Спасибо!
Что вы хотите сделать, так это близнец ось X, чтобы оба графика разделяли ось X, но имели отдельные оси Y. Это можно сделать таким образом:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
GPUDATA = pd.read_csv("1080Prices.csv")
BCDATA = pd.read_csv("BitcoinPrice.csv")
gpu_dates = pd.to_datetime(GPUDATA["Date"])
gpu_prices = GPUDATA["Price_USD"]
btc_dates = pd.to_datetime(BCDATA["Date"])
btc_prices = BCDATA["Close"]
fig, ax1 = plt.subplots()
ax2 = ax1.twinx() # Create a new Axes object sharing ax1's x-axis
ax1.plot(gpu_dates, gpu_prices, color='blue')
ax2.plot(btc_dates, btc_prices, color='red')
Поскольку вы не предоставили образцы данных, я не могу показать соответствующую демонстрацию, но это должно сработать.
@JackNovozinsky Добро пожаловать! Если вы хотите увеличить размер фигуры, вам нужно передать tuple
, представляющий размер фигуры в дюймах, в аргумент figsize
plt.subplots
. Документация здесь объяснит больше!
@JackNovozinsky Я также должен добавить, что вы можете использовать параметр sharex
plt.subplots
для своей текущей проблемы, но это может быть немного менее интуитивно понятным.
Это прекрасно работает! Спасибо большое, что тоже объяснили. Это очень поможет мне позже в этом проекте. Вы случайно не знаете, как немного увеличить размер фигуры? Еще раз спасибо за помощь!