python - 如何在 Y 轴上绘制每个索引值
问题描述
我试图弄清楚如何在我的数据框中以每小时精度(索引列具有每小时值)绘制 X 轴。目前,它只是每个月都贴上标签。我希望每个 Y 点“关闭值列”都有一个标签。
我现在的代码:
import matplotlib.pyplot as plt
from matplotlib import dates as mpl_dates
import pandas as pd
data = pd.read_csv('C:/Users/renat/.spyder-py3/1H data new.csv', index_col=0, parse_dates=True)
data.index = pd.to_datetime(data.index, format='%Y-%m-%d %H:%M:%S')
plt.figure(figsize=(80, 8))
plt.plot_date(data.index,data['close'], linestyle='solid',xdate=True, marker=None)
plt.gcf().autofmt_xdate()
date_format = mpl_dates.DateFormatter('%Y-%m-%d %H')
plt.gca().xaxis.set_major_formatter(date_format)
plt.title('Price Chart for TEST')
plt.xlabel('Date')
plt.ylabel('Price ($)')
plt.show()
解决方案
感谢@r-begginers 的评论,我能够实现我想要的。我用 X 轴的每小时标签打印财务数据的完成代码如下:
import matplotlib.pyplot as plt
from matplotlib import dates as mpl_dates
import pandas as pd
data = pd.read_csv('C:/Users/renat/.spyder-py3/1H data new.csv', index_col=0, parse_dates=True)
data.index = pd.to_datetime(data.index, format='%Y-%m-%d %H:%M:%S')
plt.figure(figsize=(100, 8))
plt.plot_date(data.index,data['close'], linestyle='solid',xdate=True, marker=None)
days = mpl_dates.DayLocator(interval=1)
days_fmt = mpl_dates.DateFormatter('%Y-%m-%d %H:%M')
plt.gca().xaxis.set_major_locator(days)
plt.gca().xaxis.set_major_formatter(days_fmt)
plt.grid()
plt.xticks(rotation=90, fontsize=6)
plt.title('Price Chart for TEST')
plt.xlabel('Date')
plt.ylabel('Price ($)')
plt.show()
我只是替换了与 x 轴格式相关的三行。
在:
hours = mpl_dates.HourLocator(interval=1)
hours_fmt = mpl_dates.DateFormatter('%H')
plt.gca().xaxis.set_major_locator(hours)
plt.gca().xaxis.set_major_formatter(hours_fmt)
出去:
plt.gcf().autofmt_xdate()
date_format = mpl_dates.DateFormatter('%Y-%m-%d %H')
plt.gca().xaxis.set_major_formatter(date_format)
我还进行了一些其他更改,但它们与问题无关。
再次感谢@r-begginers 为我指明了这个方向。
推荐阅读
- reactjs - 如何在 React 应用程序中使用 Apple 验证我的域
- git - 你如何重做一个 git rebase -i 步骤?
- reactjs - 对字符串数组使用映射函数
- php - API 卷曲响应问题(php)
- flutter - Column 内的 Container 内的 GridView 不会填满屏幕的其余部分
- elasticsearch - 使用管道日期索引名称设置 ElasticSearch 索引生命周期策略的问题
- kubernetes - 无法使用 cert-manager 为 clouddns dns01 求解器创建证书
- javascript - 单击后将 Bootstrap 按钮重置为正常样式
- c# - 如何使用 IList 生成数据库?
- yaml-cpp - yaml-cpp 总是创建一个大小为 0 的标量节点