stock_data['close_mean5']=np.round(stock_data['close'].rolling(window=5,center=False).mean(),2) stock_data['close_mean20']=np.round(stock_data['close'].rolling(window=20,center=False).mean(),2) data=stock_data.loc['2022-06-03':'2022-12-14'] #获取某个时间段内的时间序列数据 pandas_candlestick_ohlc(data,['close_mean5','close_mean20']) 横坐标的刻度怎么变小一点
时间: 2023-12-20 21:04:01 浏览: 106
你可以使用 matplotlib 库中的 subplots_adjust() 方法来调整横坐标的刻度。例如,你可以在绘制 K 线图之前添加以下代码来缩小横坐标的刻度:
```
import matplotlib.pyplot as plt
# 获取数据并计算均线
stock_data['close_mean5'] = np.round(stock_data['close'].rolling(window=5, center=False).mean(), 2)
stock_data['close_mean20'] = np.round(stock_data['close'].rolling(window=20, center=False).mean(), 2)
data = stock_data.loc['2022-06-03':'2022-12-14']
# 创建子图并绘制 K 线图
fig, ax = plt.subplots(figsize=(12, 6))
pandas_candlestick_ohlc(data, ['close_mean5', 'close_mean20'], ax=ax)
# 调整横坐标的刻度
fig.subplots_adjust(bottom=0.2)
```
在这里,我们将子图的底部边界调整为 0.2,这样就会使横坐标的刻度变小一些。你可以根据需要调整这个参数。
相关问题
# 调整横坐标的刻度 fig.subplots_adjust(bottom=0.05) stock_data['close_mean5']=np.round(stock_data['close'].rolling(window=5,center=False).mean(),2) stock_data['close_mean20']=np.round(stock_data['close'].rolling(window=20,center=False).mean(),2) data=stock_data.loc['2022-06-03':'2022-12-14'] #获取某个时间段内的时间序列数据 plt.savefig(f'E:/应统案例大赛/附件1-股票交易数据/日均线a4.jpg') pandas_candlestick_ohlc(data,['close_mean5','close_mean20'])为什么保存不了
你需要先调用 `plt.savefig()` 方法保存图片,再调用 `pandas_candlestick_ohlc()` 方法绘制 K 线图。例如:
```
import matplotlib.pyplot as plt
# 获取数据并计算均线
stock_data['close_mean5'] = np.round(stock_data['close'].rolling(window=5, center=False).mean(), 2)
stock_data['close_mean20'] = np.round(stock_data['close'].rolling(window=20, center=False).mean(), 2)
data = stock_data.loc['2022-06-03':'2022-12-14']
# 创建子图并绘制 K 线图
fig, ax = plt.subplots(figsize=(12, 6))
pandas_candlestick_ohlc(data, ['close_mean5', 'close_mean20'], ax=ax)
# 调整横坐标的刻度
fig.subplots_adjust(bottom=0.05)
# 保存图片并显示
plt.savefig('E:/应统案例大赛/附件1-股票交易数据/日均线a4.jpg')
plt.show()
```
在这里,我们先调用 `plt.savefig()` 方法保存图片,再调用 `pandas_candlestick_ohlc()` 方法绘制 K 线图。最后,我们调用 `plt.show()` 方法显示图片。注意,你需要确认保存图片的路径是否正确。
import tushare as ts import datetime def has_five_consecutive_rises(data): close = data['close'] if len(close) < 5 or any(close[-5:] != close.iloc[-1]): return False for i in range(1, 5): if close.iloc[-i-1] >= close.iloc[-i]: return False return True today = datetime.datetime.now().strftime('%Y-%m-%d') three_months_ago = (datetime.datetime.now() - datetime.timedelta(days=90)).strftime('%Y-%m-%d') data = ts.get_hist_data('hs300', start=three_months_ago, end=today) for code in data.index: stock_data = ts.get_hist_data(code, start=three_months_ago, end=today) if has_five_consecutive_rises(stock_data): print(code)改正上述代码
上述代码本身并没有错误,但是需要注意以下几点:
1. 代码中使用了tushare包,需要先安装,并且需要在tushare官网上注册账号获取token,否则无法获取数据;
2. 在使用tushare获取数据时,需要注意限制调用频率,否则可能会被封禁;
3. 代码中只是简单地判断了最近5天的股价是否连续上涨,并不能完全说明该股票已经具有投资价值,需要结合其他指标进行分析。
如果您想要具体了解如何使用tushare获取股票数据并进行分析,推荐您学习相关的量化投资知识和Python编程技巧。
阅读全文