目前我有一个数据框,其中索引是一个使用东部标准时间(EST)配置的 DateTime 对象。
当我在 backtesting.py 中使用plot()绘制此数据框时,x轴显示为UTC时区而不是EST时区。有没有办法让我更改它以显示 EST 时区?
谢谢!
您能否提供这部分代码 因为在示例中我们在数据框中使用“EST”并在图表上看到相同的内容
from datetime import datetime, timedelta
import pytz
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option("display.max_columns", None)
pd.set_option("display.width", None)
def create_sample_data():
est = pytz.timezone('EST')
start_date = est.localize(datetime(2024, 1, 1, 9, 0, 0))
dates = [start_date + timedelta(hours=i) for i in range(100)]
data = pd.DataFrame({
"Datetime": dates,
'Open': np.random.randn(100).cumsum() + 100,
'High': np.random.randn(100).cumsum() + 102,
'Low': np.random.randn(100).cumsum() + 98,
'Close': np.random.randn(100).cumsum() + 100,
'Volume': np.random.randint(1000, 10000, 100)
})
data.set_index('Datetime', inplace=True)
return data
if __name__ == '__main__':
df = create_sample_data()
print(df.head())
df["Open"].plot()
plt.show()
Open High Low Close Volume
Datetime
2024-01-01 09:00:00-05:00 100.112783 102.718745 97.327823 100.718963 4473
2024-01-01 10:00:00-05:00 101.082608 104.173274 96.920105 101.971678 8605
2024-01-01 11:00:00-05:00 103.168035 105.240899 95.465495 103.051083 9213
2024-01-01 12:00:00-05:00 103.517523 104.591967 95.903017 101.958344 7818
2024-01-01 13:00:00-05:00 102.138308 105.277195 96.024361 100.904891 1400