使用2个Y轴刻度创建可视化

问题描述 投票:0回答:1

我目前正在尝试绘制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)

这产生了这个:

enter image description here

当然,GPU价格为蓝色,比特币的价格为橙色。我对可视化相当新,我在网上找到任何可以帮助我解决这个问题的大概时间。我在这里找到的一些建议似乎涉及从单个数据源绘制数据,但我的数据来自2个数据源。

一个在给定的一天有GPU价格的条目,另一个在给定的一天有比特币的开盘价,收盘价,高价和低价。我正在努力寻找解决方案,任何建议都会受到欢迎!谢谢!

python pandas numpy matplotlib
1个回答
1
投票

您想要做的是将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')

由于您没有提供样本数据,我无法显示相关演示,但这应该有效。

© www.soinside.com 2019 - 2024. All rights reserved.