R语言绘制股票K线图

首先解释一下K线图的含义:首先我们找到该日或某一周期的最高和最低价,垂直地连成一条直线;然后再找出当日或某一周期的开市和收市价,把这二个价位连接成一条狭长的长方柱体。假如当日或某一周期的收市价较开市价为高(即低开高收),我们便以红色来表示,或是在柱体上留白,这种柱体就称之为“阳线”。如果当日或某一周期的收市价较开市价为低(即高开低收),我们则以绿色表示,又或是在柱上涂黑色,这柱体就是“阴线”了。

接下来是R语言的具体实现代码:

FT_Kplot<-function(OPEN,HIGH,LOW,CLOSE,DATE)
{
  N<-length(OPEN)
  w<-0.3
  D<-CLOSE-OPEN
  par(family='serif')
  #  作图
  plot(c(1:N),CLOSE,type='n',xaxt='n',
       xlab='时间',ylab='价格',font.axis=1.5)
  title(main='K线图',cex=2,col='black')
  for(i in 1:N)
  {
    lines(c(i,i),c(LOW[i],HIGH[i]),col='black',lwd=1)
    x<-c(i-w,i-w,i+w,i+w)
    y<-c(OPEN[i],CLOSE[i],CLOSE[i],OPEN[i])
    if(D[i]<0)
    {
      polygon(x,y,col='green',border='green')
    } else 
    {
      polygon(x,y,col='red',border='red')
    }
  }
  Index<-seq(from=1,to=N,length=5)
  Index<-round(Index)
  Text<-DATE[Index]
  axis(side=1,Index,labels=Text,cex.axis=1)
}
a<-read.table("166.txt")
date<-a[,1]
open<-a[,2]
high<-a[,3]
low<-a[,4]
close<-a[,5]
DATE<-substr(date,1,10)
FT_Kplot(open[c(1:100)],high[c(1:100)], low[c(1:100)],close[c(1:100)],DATE[c(1:100)])

数据集如下图所示:


效果图如下:


  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当然可以!您可以使用一些Python库来实现这一目的,例如:Matplotlib,Pandas等。 以下是一个简单的示例代码,使用Matplotlib绘制股票K线图: ``` import matplotlib.pyplot as plt import pandas as pd # 读取数据 data = pd.read_csv("stock_data.csv") # 绘制K线图 fig, ax = plt.subplots() candlestick_ohlc(ax, zip(data["date"], data["open"], data["high"], data["low"], data["close"]), width=0.6) # 添加x轴标签 plt.xticks(data["date"], data["date"], rotation=90) # 添加标题 plt.title("Stock K Line") # 显示形 plt.show() ``` 请注意,您需要先准备一份股票数据的CSV文件,并将其命名为“stock_data.csv”,才能运行这段代码。 ### 回答2: 当然可以!Python作为一种流行的编程语言,拥有很多强大的库和工具,非常适合用于数据可视化任务,包括股票K线图绘制。 在Python中,有一些流行的库可以帮助我们绘制股票K线图,例如matplotlib、plotly和seaborn等。以下是一个简单的示例,展示了如何使用matplotlib库绘制一个基本的股票K线图: ```python import matplotlib.pyplot as plt import matplotlib.dates as mdates # 输入数据 dates = ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04'] # 时间序列 opening_prices = [100, 105, 98, 102] # 开盘价 closing_prices = [102, 107, 99, 105] # 收盘价 highest_prices = [110, 112, 100, 108] # 最高价 lowest_prices = [97, 103, 95, 100] # 最低价 # 转换时间格式 dates = [mdates.datestr2num(date) for date in dates] # 创建表 fig, ax = plt.subplots() # 绘制K线图 kwargs = dict(width=0.2, colorup='r', colordown='g', alpha=1.0) ax.xaxis_date() ax.bar(dates, highest_prices, **kwargs) ax.bar(dates, lowest_prices, **kwargs) ax.vlines(dates, opening_prices, closing_prices, colors=['r' if close_open_diff >= 0 else 'g' for close_open_diff in [close_open_diff := closing_price - opening_price for closing_price, opening_price in zip(closing_prices, opening_prices)]], linewidths=0.5) # 配置表 ax.xaxis.set_major_locator(mdates.DayLocator()) # 按天显示x轴刻度 ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) # 设置日期格式 # 显示表 plt.show() ``` 以上代码使用matplotlib库创建了一个基本的K线图,并通过传入开盘价、收盘价、最高价和最低价的数据来绘制K线。代码中的日期格式转换和表配置可根据具体需求进行调整和扩展。 希望这可以帮到你!如果有其他问题,请随时提问。 ### 回答3: 当然可以帮你写一个基于Python语言的股票K线图!Python具有丰富的数据处理和可视化库,非常适合进行股票数据分析和可视化展示。 首先,你需要获取股票数据。你可以使用第三方库如`tushare`来获取实时的股票数据。例如,可以通过`tushare`库的`get_k_data`函数获取某只股票的K线数据。你可以指定股票代码、时间范围、K线类型等参数来获取数据。 然后,你需要使用数据处理库如`pandas`对获取的股票数据进行清洗和处理。你可以使用`pandas`的`DataFrame`结构来存储和处理数据。对于K线图,你可以使用OHLC(开盘价、最高价、最低价和收盘价)数据来绘制。 接下来,你可以使用数据可视化库如`matplotlib`或`Plotly`来绘制K线图。这些库提供了丰富的绘函数和设置选项,你可以根据需要进行定制。例如,你可以使用`matplotlib`的`candlestick_ohlc`函数来绘制K线图。 最后,你可以添加一些额外的功能,如网格线、均线、交易量柱状等,以便更好地分析股票走势。 在完成绘后,你可以将结果保存为片或在线展示。这样,你就成功地利用Python语言编写了一个简单的股票K线图。 总之,Python语言非常适合进行股票数据分析和可视化,你可以使用第三方库来获取数据、处理数据并绘制K线图。希望这个简要的回答可以对你有所帮助!如果需要更详细的代码示例或者其他帮助,请随时告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值