第七章 时间序列可视化课堂练习
1 案例数据
1.1 all_stock_2024:工商银行、招商应用、中信证券和贵州茅台四个股票2024各天交易数据
data为为日期变量,但该日期变量不规则(不连续),周末和公众假期没有交易数据;编码和名称用于识别不同股票,注意不同股票有交易数据日期不一定一致,但本例种各股票均有242个交易日数据;开盘价到换手率均为数值变量,开盘价到成交量与每股资产有关,不同股票间不可比;交易量的单位为手(百股)、成交额的单位为元,振幅等四个变量均为相对指标。
2 折线图和面积图
2.1 合并折线图
将四只股票的
涨跌幅做作折线图,将四条折线在同一个图形输出;日期截取
2024-9-1到2024-10-31;添加一条纵轴为0的参考线,采用
twodash的线型;将图标题改为“合并涨跌幅折线图”。
# A tibble: 148 × 3
日期 名称 涨跌幅
<date> <chr> <dbl>
1 2024-09-02 中信证券 -1.92
2 2024-09-03 中信证券 1.06
3 2024-09-04 中信证券 0
4 2024-09-05 中信证券 -0.05
5 2024-09-06 中信证券 -0.26
6 2024-09-09 中信证券 -0.42
7 2024-09-10 中信证券 -0.53
8 2024-09-11 中信证券 0.64
9 2024-09-12 中信证券 -0.63
10 2024-09-13 中信证券 0.21
# ℹ 138 more rows
2.2 分面折线图
将四只股票的
收盘价格做作折线图,将四条折线图分面输出;日期截取一整年;
并使用
ggpol::geom_tshighlight将2024-9-1到2024-10-31时间段高亮显示
2.3 面积图
将四只股票的
收盘价格做作面积图,将四个面积图分面输出;将成交量的单位改为万手
2.4 图形观察和代码编写的心得体会
在本次金融数据可视化项目中,我深入实践了合并折线图与分面折线图的绘制,并进行了主题精调,收获颇丰。
合并折线图:通过动态曲线,我直观展现了多股金融产品的涨跌幅波动轨迹。零基准线以twodash虚线清晰划分涨跌区域,使市场变化一目了然。色彩编码有效区分了不同金融产品的走势,图例内嵌设计提升了数据与图例的对应效率。无框背景避免了视觉干扰,而0.5的线宽则平衡了趋势辨识度与多重交叉的复杂性。曲线斜率映射了价格变化速率,峰值与谷值反映了市场情绪的转折,跨产品曲线间距则揭示了相对强弱关系。
分面折线图:通过独立坐标系,我精准呈现了各金融产品的走势。自适应Y轴凸显了个体波动特征,90度旋转的标签解决了密集日期显示难题。高亮区域聚焦了关键分析时段,移除次要网格线净化了视觉焦点。双列分面布局构建了垂直阅读流,月度断点标记了时间节奏,紧凑边距则最大化利用了数据展示空间。
面积图:在面积图中,我通过填充曲线下空间直观呈现了成交量累积效应。Y轴单位转换优化了数值可读性,分面隔离实现了个股独立坐标系与自适应Y轴缩放。这些实践不仅提升了我的R语言编程技能,更深化了我对金融数据可视化的理解与应用能力。
3 流线图和地平线图
3.1 流线图
将四只股票的
交易额做作流线图,将四个面积图分面输出;将交易额的单位改为亿元
3.2 地平线图
- 采用
ggHoriPlot::geom_horizon函数,对四只股票的交易额做作地平线图 - 设置原点为均值
origin='mean',输出配色图例
3.3 图形观察和代码编写的心得体会
- 通过本次地平线图的绘制实践,我深刻体会到数据可视化在金融分析中的重要性。使用
ggHoriPlot包中的geom_horizon函数,我成功呈现了四只股票交易额的动态变化。地平线图通过色彩层次清晰展示了各股票的波动趋势,原点设置为均值使得涨跌对比更加直观。代码编写过程中,我学会了灵活运用主题和调色板来优化图形美观性,同时通过分面展示实现了多股票的并行对比。此次实践不仅提升了我的 R 语言编程技能,也让我对金融数据的可视化分析有了更深入的理解。
4 不规则时间序列图
4.1 数据准备
通过
zoo::rollmean时间收盘价的5天、10天和20天的移动平均将日期变量转化为
id变量
4.2 平滑曲线图
将四只股票收盘价和3种移动平均的折线图分面输出;
横轴的每隔30天一个刻度,只显示月/日;
4.3 K线图
选择工商银行数据作出,2024年的K线图
scale_x_continuous将横轴坐标刻度转化回日期型
4.4 图形观察和代码编写的心得体会
4.4.0.1 平滑曲线图
通过
zoo::rollmean计算不同周期的移动平均,我们能够有效平滑收盘价的波动,便于观察长期趋势。将日期转化为索引变量,有助于数据管理和分析。在绘制分面折线图时,通过facet_wrap按股票名称分面,清晰地展示了各股票的收盘价及其移动平均趋势。横轴每隔30天一个刻度,并仅显示月/日,使得图形更加简洁易读。4.4.0.2 K线图
K线图通过颜色区分了涨跌情况,直观展示了工商银行2024年的开盘价、收盘价、最高价和最低价。通过
scale_x_continuous将横轴坐标刻度转换回日期型,确保了时间维度的准确性。K线图不仅提供了丰富的价格信息,还增强了图形的表现力。4.4.0.3 心得体会
本次实践让我深刻认识到数据预处理在可视化中的重要性。通过移动平均平滑数据,可以更好地捕捉趋势;而合理的分面和坐标轴设置,则能显著提升图形的可读性。K线图的绘制则让我掌握了另一种有效的金融数据可视化方式。未来,我将继续探索更多可视化技巧,以更准确地传达数据背后的信息。