📜  Python Bokeh – 可视化股票数据(1)

📅  最后修改于: 2023-12-03 15:04:04.295000             🧑  作者: Mango

Python Bokeh – 可视化股票数据

Bokeh是一个用于Python的交互式可视化库。该库旨在为现代Web浏览器提供优雅,简洁和高效的绘图,同时提供D3.js样式的交互。Bokeh将用户输入自动转换为Javascript,在浏览器中直接绘制图形。

Bokeh可以很好地与Python科学计算库,如pandas,numpy和scipy集成,所以它是可视化数据分析和交互式报告的强大工具。下面是如何使用Bokeh可视化股票数据的例子。

1. 安装Bokeh

要使用Bokeh,需要先将其安装到您的计算机上。可以使用pip命令安装:

pip install bokeh
2. 准备数据

首先,您需要收集股票数据。你可以从各种来源获取数据,包括数据供应商,如Yahoo Finance,Quandl和Google Finance等。

这里我们将使用Pandas DataReader库从Yahoo Finance获取股票数据。确保您已经安装了pandas-datareader:

pip install pandas-datareader

接下来,我们将为可视化数据准备一些数据。下面的代码将使用Pandas DataReader库从Yahoo Finance获取IBM和苹果公司(AAPL)的历史股票数据。这将返回包含股票数据的Pandas数据框:

from pandas_datareader import data

# 记录数据从2016年1月1日到今天
start_date = '2016-01-01'
end_date = '2021-08-31'

# 从Yahoo Finance获取IBM和苹果公司的历史数据
ibm_data = data.DataReader('IBM', 'yahoo', start_date, end_date)
aapl_data = data.DataReader('AAPL', 'yahoo', start_date, end_date)

# 显示数据的前几行
print(ibm_data.head())
print(aapl_data.head())

输出:

                  High         Low        Open       Close     Volume  \
Date                                                                    
2016-01-04  134.289993  131.649994  133.440002  131.809998  5229400.0   
2016-01-05  134.119995  131.429993  131.979996  131.869995  3924800.0   
2016-01-06  131.630005  128.949997  131.630005  130.289993  4310900.0   
2016-01-07  128.330002  125.849998  127.290001  126.959999  7025800.0   
2016-01-08  129.979996  125.849998  129.229996  125.949997  4747900.0   

             Adj Close  
Date                    
2016-01-04  108.468086  
2016-01-05  108.519188  
2016-01-06  107.126335  
2016-01-07  104.312607  
2016-01-08  103.439369  

                  High         Low        Open       Close       Volume  \
Date                                                                      
2016-01-04  105.370003  102.00      102.610001  105.349998  67649400.0    
2016-01-05  105.849998  102.410004  105.750000  102.709999  55791000.0    
2016-01-06  102.370003  099.870003  100.559998  100.699997  68457400.0    
2016-01-07  100.129997  096.43      098.680000  096.449997  81094400.0    
2016-01-08  099.110001  095.970001  098.550003  096.959999  70798000.0    
3. 创建交互式图表

我们将使用Bokeh来可视化股票数据。Bokeh支持许多类型的图表,包括线图,散点图,条形图和地图等。在这里,我们将使用线图来显示股票价格的历史变化。

首先,我们需要导入必要的Bokeh模块:

from bokeh.plotting import figure, output_file, show

然后,我们可以使用如下代码创建一个简单的交互式图:

# 创建一个绘画对象
p = figure(title='IBM and AAPL Stock Prices', x_axis_label='Date', y_axis_label='Price')

# 添加一条表示IBM股票价格的线
p.line(ibm_data.index, ibm_data['Adj Close'], line_width=2, legend_label='IBM')

# 添加一条表示苹果股票价格的线
p.line(aapl_data.index, aapl_data['Adj Close'], line_width=2, color='orange', legend_label='AAPL')

# 显示图表
show(p)

结果:

img

以上就是如何使用Bokeh可视化股票数据的简单示例。Bokeh提供了许多其他功能和选项,以便您可以定制您的图表以适合您的需求。这是一个非常强大的工具,可以用于制作高质量的交互式数据可视化。