缠论可视化神器:chan.py绘图功能详解与高级技巧
chan.py是一款开放式的缠论Python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开发,交易系统对接。本文将详细介绍chan.py的绘图功能及其高级使用技巧,帮助新手和普通用户轻松掌握缠论分析的可视化方法。## 一、核心绘图功能概览 📊chan.py的绘图功能集中在`Plot/PlotDriver.py`模块中,通过`CPl
缠论可视化神器:chan.py绘图功能详解与高级技巧
chan.py是一款开放式的缠论Python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开发,交易系统对接。本文将详细介绍chan.py的绘图功能及其高级使用技巧,帮助新手和普通用户轻松掌握缠论分析的可视化方法。
一、核心绘图功能概览 📊
chan.py的绘图功能集中在Plot/PlotDriver.py模块中,通过CPlotDriver类实现了丰富的技术分析图表绘制能力。该模块支持多种缠论核心元素的可视化,包括K线、笔、线段、中枢、买卖点等,同时还集成了MACD、RSI、KDJ等技术指标的绘制功能。
1.1 主要绘图元素
chan.py的绘图功能覆盖了缠论分析所需的各类元素:
- 基础K线图:绘制常规K线,支持不同颜色方案和显示模式
- 笔与线段:可视化缠论中的笔(bi)和线段(seg)结构
- 中枢结构:展示各级别中枢及其包含关系
- 买卖点标记:自动识别并标记潜在的买卖点(BSP)
- 技术指标:集成MACD、RSI、KDJ、布林带等常用指标
- 趋势线:自动绘制支撑位和阻力位趋势线
1.2 多级别联立分析
chan.py的一大特色是支持多级别K线联立分析,用户可以同时查看不同时间周期的图表,实现缠论中的"区间套"分析方法。通过plot_para参数可以配置各级别显示的内容和样式。
二、快速上手:基础绘图实现 ⚡
要使用chan.py的绘图功能,只需简单几步即可生成专业的缠论分析图表。以下是一个基本的使用示例:
from Plot.PlotDriver import CPlotDriver
# 创建CPlotDriver实例
plot_driver = CPlotDriver(chan, plot_config="kline,bi,seg,zs,bsp", plot_para={
'figure': {'w': 24, 'h': 10, 'x_tick_num': 10},
'bi': {'color': 'black', 'show_num': True},
'seg': {'color': 'green', 'width': 5}
})
# 显示图表
plot_driver.figure.show()
# 保存为图片
plot_driver.save2img("./chan_chart.png")
2.1 配置参数说明
plot_config参数用于指定需要绘制的元素,可以是字符串、列表或字典形式:
- 字符串形式:
"kline,bi,seg,zs,bsp" - 列表形式:
["kline", "bi", "seg", "zs", "bsp"] - 字典形式:
{"kline": True, "bi": True, "seg": True}
plot_para参数用于配置各类元素的显示样式,如颜色、线宽、字体大小等。
三、实战应用:关键图表解析 🔍
3.1 买卖点可视化
chan.py能够自动识别并标记缠论中的买卖点,帮助用户快速把握交易机会。下图展示了买卖点(BSP)的可视化效果,其中实线表示确认的买卖点,虚线表示潜在的买卖点:
通过plot_bsp和plot_segbsp配置可以分别开启笔级别和线段级别的买卖点显示。在Plot/PlotDriver.py中,draw_bs_point和draw_seg_bs_point方法负责具体的绘制逻辑。
3.2 趋势线分析
趋势线是缠论分析中的重要工具,chan.py能够自动识别并绘制支撑位和阻力位趋势线。下图展示了通过算法自动绘制的趋势线,帮助用户判断价格走势方向:
趋势线功能通过draw_seg方法中的plot_trendline参数控制,用户可以自定义趋势线的颜色和线宽。
3.3 多级别区间套分析
缠论中的区间套分析需要同时观察多个级别的走势,chan.py支持将不同级别的K线图垂直排列,形成联动分析视图。下图展示了日线和30分钟线的联立分析:
通过figure_config中的only_top_lv参数可以控制是否只显示最高级别,或同时显示多个级别。
四、高级技巧:自定义绘图效果 ✨
4.1 自定义颜色与样式
chan.py允许用户自定义各类元素的显示样式,例如修改笔和线段的颜色:
plot_para={
'bi': {'color': 'purple', 'show_num': True, 'num_color': 'red'},
'seg': {'color': 'blue', 'width': 3, 'plot_trendline': True, 'trendline_color': 'orange'}
}
4.2 添加自定义标记
用户可以通过plot_marker功能在图表上添加自定义标记,标记重要的时间点或价格水平:
plot_para={
'marker': {
'markers': {
'2022/03/01': ('重要低点', 'down', 'red'),
'2022/06/15': ('压力位', 'up', 'blue')
}
}
}
4.3 调整图表布局
通过figure_config参数可以调整图表的整体布局,包括尺寸、边距、网格等:
plot_para={
'figure': {
'w': 28, 'h': 12, # 图表宽度和高度
'x_tick_num': 15, # x轴刻度数量
'grid': 'xy' # 显示网格线
}
}
五、常见问题与解决方案 ❓
5.1 图表显示不完整
如果图表中的K线或指标显示不完整,可能是x轴范围设置不当。可以通过x_range参数调整显示的K线数量:
plot_para={
'figure': {
'x_range': 120 # 显示最近120根K线
}
}
5.2 买卖点不显示
若图表中未显示买卖点,检查是否在plot_config中包含了bsp和segbsp:
plot_config="kline,bi,seg,zs,bsp,segbsp"
同时确保缠论分析已经完成,买卖点数据已计算生成。
5.3 中文显示乱码
如果图表中的中文显示乱码,可以通过修改matplotlib的字体设置解决:
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
六、总结与展望 🚀
chan.py的绘图功能为缠论分析提供了强大的可视化支持,无论是新手还是有经验的交易者,都能通过直观的图表更好地理解市场走势。通过灵活配置参数和自定义样式,用户可以打造个性化的分析界面。
未来,chan.py团队将继续优化绘图功能,计划添加更多技术指标和分析工具,进一步提升用户体验。如果你对缠论分析感兴趣,不妨通过以下方式开始使用chan.py:
git clone https://gitcode.com/gh_mirrors/ch/chan.py
cd chan.py
pip install -r Script/requirements.txt
通过本文介绍的方法,相信你已经掌握了chan.py绘图功能的基本使用和高级技巧。开始你的缠论分析之旅吧!
更多推荐




所有评论(0)