Vnstock Logo

Tham chiếu đầy đủ tham số

Cộng đồngvnstock_chart v1.0.0

Mục lục

Trang này dành cho ai?

Tra cứu chính xác cho trợ lý AI và lập trình viên tự động hoá — mọi tham số dưới đây lấy trực tiếp từ chữ ký hàm và mã nguồn của vnstock_chart 1.0.0, không chỉ từ docstring (một số docstring cũ thiếu vài tham số thật có trong mã; bảng dưới đã bổ sung đủ). Muốn xem tổng quan theo nhu cầu trước, đọc Các loại biểu đồ.

Tham số dùng chung

Các hàm bar, hist, line, scatter, boxplot nhận cùng một bộ tham số tạo kiểu (truyền qua **kwargs, xử lý trong apply_chart_style). Bảng dưới là chữ ký thật của apply_chart_style, áp dụng cho cả năm hàm trên trừ khi ghi chú khác:

Tham sốKiểuMặc địnhÝ nghĩa
titlestrNoneTiêu đề biểu đồ
title_fontsizeint14 (hiển thị 16 nếu không đặt)Cỡ chữ tiêu đề
xlabelstrNoneNhãn trục X
ylabelstrNoneNhãn trục Y
gridboolNone (coi như False)Hiện lưới
grid_axisstr'both'Trục hiện lưới: 'both', 'x', 'y'
data_labelsboolNoneHiện số trên mỗi cột/điểm
data_label_formatstr'1K'Định dạng số viết tắt: '1K', '1M', '1B', '1T'
data_label_positionstr'outside'Vị trí nhãn số: 'outside' hoặc 'center'
data_label_colorstr'#475569'Màu chữ nhãn số
data_label_fontsizeint10Cỡ chữ nhãn số
label_fontsizeintNone (hiển thị 12 nếu không đặt)Cỡ chữ nhãn trục X/Y
legend_titlestrNoneTiêu đề chú giải
show_legendboolTrueHiện chú giải
legend_fontsizeintNoneCỡ chữ chú giải
series_nameslist[str]NoneTên tuỳ chỉnh cho từng dải dữ liệu, hiện trong chú giải
font_namestrNoneFont chữ, ví dụ 'Inter'
figsizetuple[float, float]NoneKích thước hình, ví dụ (10, 6)
show_xaxisboolTrueHiện trục X. Đặt False để ẩn
show_yaxisboolTrueHiện trục Y. Đặt False để ẩn luôn viền trái
tick_labelsizeintNone (hiển thị 10 nếu không đặt)Cỡ chữ số trên trục
xtick_formatstrNoneĐịnh dạng số trên trục X, ví dụ '{:.0f}'
ytick_formatstrNoneĐịnh dạng số trên trục Y, ví dụ '{:.0%}'
tick_rotationintNoneGóc xoay nhãn trục (áp cho trục X)
xlimtuple[float, float]NoneGiới hạn trục X
ylimtuple[float, float]NoneGiới hạn trục Y
background_colorstrNone (mặc định '#ffffff')Màu nền biểu đồ
bar_edge_colorstrNone (mặc định '#ffffff')Màu viền cột (nếu biểu đồ có cột)

Ba tham số điều khiển riêng, không thuộc apply_chart_style, nhận ở hầu hết các hàm qua **kwargs:

Tham sốKiểuMặc địnhÝ nghĩa
color_palettestr | list[str]theme hiện tại ('vnstock' nếu chưa gọi set_theme)Tên bảng màu có sẵn hoặc danh sách màu hex tự chọn — xem Bảng màu
palette_shuffleboolFalseXáo trộn thứ tự màu trong bảng
showboolTrue (False ở table)Gọi plt.show() sau khi vẽ. Đặt False khi chạy không có màn hình (script, server)
axmatplotlib.axes.AxesNoneVẽ lên trục có sẵn thay vì tạo hình mới — dùng khi tự ghép nhiều biểu đồ. Có ở bar, hist, line, scatter, boxplot

savefig chỉ có ở một số hàm cụ thể (ghi trong bảng riêng từng hàm bên dưới) — ở những hàm đó, nhận một đường dẫn tệp (str) hoặc một dict tham số của plt.savefig() (ví dụ {'fname': 'chart.png', 'dpi': 150, 'bbox_inches': 'tight'}). Với các hàm không có savefig, tự gọi fig.savefig(...) trên kết quả trả về.

Bảng màu

Gọi bằng tên (color_palette='vnstock') hoặc tự truyền một danh sách màu hex. Liệt kê đủ bằng Utils.brand_palettes.keys():

TênSố màuThứ tự ngữ nghĩa
vnstock6Mặc định của thương hiệu
percentage6Thang màu cho tỉ lệ phần trăm
amount10Thang xanh nhạt → đậm, cho giá trị tăng dần
category10Màu tương phản cao, phân loại nhiều nhóm
trend11Màu cho biểu đồ xu hướng nhiều dải
stock4Vị trí 0: tăng, 1: giảm, 2: trần, 3: sàn
flatui6Bảng màu phẳng chung
learn_anything4Bảng màu tương phản mạnh
beach, forest5Hai bảng màu theo chủ đề
academic7Thứ tự ngữ nghĩa: 0 tích cực, 1 chính, 2 phụ, 3 tiêu cực — phù hợp báo cáo khoa học
minimal6Bảng màu trung tính kiểu Nord/Slate

Thiết lập chung

Chart.set_theme(theme_name='vnstock', logo_path=<logo mặc định>, font_name=None, lang='vi')

Tham sốKiểuMặc địnhÝ nghĩa
theme_namestr'vnstock'Tên bảng màu áp cho mọi biểu đồ sau đó
logo_pathstr | Nonelogo Vnstock có sẵn trong góiĐường dẫn hay URL logo chèn vào biểu đồ. Đặt None để tắt hẳn logo
font_namestr | NoneNone (tự dùng font Inter nhúng sẵn nếu có)Font chữ áp cho mọi biểu đồ
langstr'vi'Ngôn ngữ nhãn tự sinh ('vi' hoặc 'en') — ảnh hưởng summary_card, nhãn khối lượng/giá của candle/backtest

Gọi một lần khi bắt đầu script; không cần gọi lại cho từng biểu đồ.

Chart.add_logo(fig, logo_path=<logo mặc định>, position=(0.44, 0.02, 0.12, 0.06), adjust_bottom=0.18)

Tự gọi bên trong mọi hàm vẽ (qua _inject_logo) theo logo_path đã đặt ở set_theme; gọi tay khi cần chèn logo lên một fig tự tạo riêng.

Tham sốKiểuMặc địnhÝ nghĩa
figmatplotlib.figure.Figurebắt buộcHình cần chèn logo
logo_pathstrlogo VnstockĐường dẫn cục bộ hoặc URL (bắt đầu bằng http thì tải qua mạng)
positiontuple[float, float, float, float](0.44, 0.02, 0.12, 0.06)Khung logo (trái, dưới, rộng, cao) theo tỉ lệ hình, 0–1
adjust_bottomfloat0.18Chừa khoảng trống phía dưới để logo không chồng lên biểu đồ

chart_instance.help(method_path)

In __doc__ của một hàm theo tên, ví dụ Chart().help('candle') hoặc Chart().help('Chart.candle') — tiện khi trợ lý AI cần đọc docstring ngay trong phiên làm việc thay vì mở tài liệu.

Xu hướng và số lượng (bar, hist, line, scatter)

Bốn hàm này chỉ khác tham số dữ liệu đầu vào; phần tạo kiểu dùng chung bảng ở trên.

HàmTham số dữ liệu
Chart.bar(data, **kwargs)data: DataFrame hoặc Series
Chart.hist(data, **kwargs)data: DataFrame hoặc Series
Chart.line(data, **kwargs)data: DataFrame hoặc Series, chỉ mục thời gian (datetime index)
Chart.scatter(data, x, y, **kwargs)data: DataFrame; x, y (str, bắt buộc): tên cột trục X, Y

bar, hist, line có thêm ax (vẽ lên trục có sẵn); scatter không có tham số ax.

Chart.timeseries(data, **kwargs) và Chart.combo_chart(bar_data, line_data, **kwargs) vẫn gọi được nhưng đã lỗi thời (DeprecationWarning) — dùng line/combo.

Chart.pie(data, labels, **kwargs)

Tham sốKiểuMặc địnhÝ nghĩa
datalist | pd.Seriesbắt buộcGiá trị từng phần
labelslistbắt buộcNhãn từng phần
titlestr—Tiêu đề
color_palettestr | list[str]theme hiện tạiBảng màu
palette_shuffleboolFalseXáo trộn màu
legend_titlestr—Tiêu đề chú giải
series_nameslist—Tên tuỳ chỉnh cho chú giải
figsizetuple—Kích thước hình
font_namestr—Font chữ
show_legendboolTrueHiện chú giải
title_fontsizeint—Cỡ chữ tiêu đề
legend_fontsizeint—Cỡ chữ chú giải
showboolTrueGọi plt.show()

Không nhận savefig.

Chart.boxplot(data, **kwargs)

Dữ liệu data: DataFrame; tham số tạo kiểu giống bảng dùng chung (có ax).

Chart.pairplot(data, **kwargs)

Tham sốKiểuÝ nghĩa
datapd.DataFrameDữ liệu nhiều cột để vẽ ma trận tương quan
**kwargs—Chuyển thẳng cho seaborn.pairplot() — xem tài liệu seaborn cho đủ tham số (hue, vars, kind, diag_kind…)

Trả về đối tượng seaborn.PairGrid (không phải (fig, ax) như các hàm khác) — lấy hình bằng g.figure.

Chart.combo(bar_data, line_data, left_ylabel='Bar Data', right_ylabel='Line Data', **kwargs)

Tham sốKiểuMặc địnhÝ nghĩa
bar_datapd.Series | pd.DataFramebắt buộcDữ liệu vẽ dạng cột (trục Y bên trái)
line_datapd.Series | pd.DataFramebắt buộcDữ liệu vẽ dạng đường (trục Y bên phải)
left_ylabelstr'Bar Data'Nhãn trục Y trái
right_ylabelstr'Line Data'Nhãn trục Y phải
color_palettestr | list[str]theme hiện tạiLấy màu cột từ vị trí 0, màu đường từ vị trí 2 (hoặc 1 nếu palette tự truyền chỉ có 2 màu)
palette_shuffleboolFalseXáo trộn màu trước khi lấy
title, xlabel, grid, data_labels, data_label_format, legend_title, series_names, font_name, show_legend, show_xaxis, show_yaxis, title_fontsize, label_fontsize, tick_labelsize, legend_fontsize, xtick_format, ytick_format, figsize, xlim, ylim, tick_rotation, background_color, bar_edge_color——Giống bảng dùng chung — ylabel không áp dụng, dùng left_ylabel/right_ylabel
showboolTrueGọi plt.show()

Trả về (fig, ax1, ax2) — hai trục Y, không phải (fig, ax).

Biểu đồ nến (candle, backtest)

Chart.candle(data, title='', figsize=(12, 8), volume=True, overlays=None, subplots=None, **kwargs)

Tham sốKiểuMặc địnhÝ nghĩa
datapd.DataFramebắt buộcCột open/high/low/close (không phân biệt hoa thường), volume tuỳ chọn; chỉ mục thời gian hoặc có cột time/date
titlestr''Tiêu đề
figsizetuple[float, float](12, 8)Kích thước hình
volumeboolTrueVẽ thêm khung khối lượng
overlayslistNoneĐường chồng lên khung giá — mỗi phần tử là một Series, hoặc dict {'data': Series, 'type': 'line', 'color': None, 'alpha': 0.8, 'width': 1.0}
subplotslistNoneThêm khung phụ dưới khung giá (RSI, MACD…) — mỗi phần tử là một Series/dict như overlays, hoặc một danh sách các dict để nhiều đường chung một khung; dict nhận thêm secondary_y (bool) và ylabel (str)
color_palettestrtheme hiện tạiChỉ nhận tên bảng màu có sẵn — truyền một danh sách màu hex vào đây sẽ lỗi TypeError (khác bar/line/combo…). Màu nến tăng lấy từ vị trí 0, màu giảm từ vị trí 3
font_namestrfont hiện tại của matplotlibFont cho tiêu đề
showboolTrueGọi plt.show()
**kwargs khác——Chuyển thẳng cho mplfinance.plot() — xem tài liệu mplfinance cho đủ tham số (type, mav, tight_layout…)

Không nhận savefig; tự fig.savefig(...) trên kết quả (fig, axes).

Chart.backtest(data, trades=None, portfolio=None, title='Backtest Results', figsize=(14, 10), volume=True, overlays=None, **kwargs)

Tham sốKiểuMặc địnhÝ nghĩa
datapd.DataFramebắt buộcGiá OHLC(V), như candle
tradespd.DataFrame | list[dict] | np.ndarray | NoneNoneLệnh đã khớp. Cần nhận diện được cột thời gian (time/date/trade_date), loại lệnh (type/trade_type/side, giá trị 'MUA'/'BUY'/'LONG'/'1' là mua, 'BAN'/'SELL'/'SHORT'/'-1' là bán), giá khớp (price/exec_price)
portfoliopd.DataFrame | NoneNoneHiệu suất danh mục theo thời gian. Cần cột equity (equity/portfolio_value/capital/cumulative_return/return) và/hoặc drawdown (drawdown/dd)
titlestr'Backtest Results'Tiêu đề
figsizetuple(14, 10)Kích thước hình
volumeboolTrueVẽ khung khối lượng
overlayslistNoneGiống candle
color_palettestrtheme hiện tạiChỉ nhận tên bảng màu có sẵn (truyền list sẽ lỗi TypeError). Màu nến, điểm mua/bán, đường vốn, drawdown lấy từ các vị trí 0/3/1/3
font_namestrfont hiện tạiFont tiêu đề
showboolTrueGọi plt.show()
savefigstr | dict | NoneNoneCó nhận — lưu ảnh ngay trong hàm, không cần tự fig.savefig()
**kwargs khác——Chuyển cho mplfinance.plot()

Số khung tự tăng theo dữ liệu có: luôn có khung giá; thêm khung khối lượng nếu volume=True; thêm khung vốn nếu portfolio có cột equity; thêm khung drawdown nếu portfolio có cột drawdown.

Chart.equity_curve(data, benchmark=None, title='Equity Curve & Drawdown', figsize=(10, 6), **kwargs)

Tham sốKiểuMặc địnhÝ nghĩa
datapd.Series | pd.DataFramebắt buộcĐường vốn tích luỹ (lấy cột đầu nếu là DataFrame)
benchmarkpd.Series | pd.DataFrame | NoneNoneĐường vốn tích luỹ của benchmark, vẽ chồng để so sánh
titlestr'Equity Curve & Drawdown'Tiêu đề
figsizetuple(10, 6)Kích thước hình
color_palettestrtheme hiện tạiChỉ nhận tên bảng màu có sẵn (truyền list sẽ lỗi TypeError). Màu đường vốn, benchmark, drawdown lấy từ vị trí 0/1/3
Tham số tạo kiểu khác——Chuyển thẳng cho apply_chart_style của khung drawdown (khung vốn đã cố định show_xaxis=False, show_legend=True, ylabel='Cumulative Return' — đừng truyền lại ba tham số này)

Trả về (fig, ax1, ax2): ax1 là đường vốn, ax2 là drawdown (đơn vị %).

Chart.returns_heatmap(data, title='Monthly Returns Heatmap', figsize=(10, 5), **kwargs)

Tham sốKiểuMặc địnhÝ nghĩa
datapd.Series | pd.DataFramebắt buộcLợi suất theo ngày hoặc theo tháng (tự gộp lên tháng nếu phát hiện dữ liệu ngày)
titlestr'Monthly Returns Heatmap'Tiêu đề
figsizetuple(10, 5)Kích thước hình
color_palettestrtheme hiện tạiChỉ nhận tên bảng màu có sẵn (truyền list sẽ lỗi TypeError). Màu dương lấy từ vị trí 0, màu âm từ vị trí 3, nội suy qua trắng ở 0%
**kwargs khác——Chuyển cho Chart.heatmap (và từ đó cho seaborn.heatmap)

Chart.heatmap(data, **kwargs)

Tham sốKiểuÝ nghĩa
datapd.DataFrameMa trận giá trị, ví dụ df.corr()
title, font_name, figsize, xlim, ylim, title_fontsize, background_color—Giống bảng dùng chung — chỉ bảy tham số này có hiệu lực ở heatmap, các tham số khác (data_labels, grid…) không áp dụng
color_palette, palette_shuffle—Giống bảng dùng chung
showboolGọi plt.show(), mặc định True
**kwargs khác—Chuyển cho seaborn.heatmap() — ví dụ annot=True, fmt='.1%', cmap=..., center=0, linewidths=1, linecolor='white', cbar_kws={...}, annot_kws={...}

Biểu đồ chuyên biệt

Chart.treemap(values, labels, title='', color_palette='vnstock', palette_shuffle=False, figsize=(10, 8), title_fontsize=14, **kwargs)

Cần pip install "vnstock-chart[all]" (gói squarify).

Tham sốKiểuMặc địnhÝ nghĩa
valueslist | pd.Seriesbắt buộcGiá trị từng ô, quyết định diện tích
labelslistbắt buộcNhãn từng ô
titlestr''Tiêu đề
color_palettestr'vnstock'Chỉ nhận tên bảng màu có sẵn (không nhận list màu tự do như các hàm khác)
palette_shuffleboolFalseXáo trộn màu
figsizetuple(10, 8)Kích thước hình
title_fontsizeint14 (hiển thị 16 nếu không đặt)Cỡ chữ tiêu đề
fontsizeint10Cỡ chữ bên trong mỗi ô (qua **kwargs, chuyển cho squarify)
font_namestr—Font chữ tiêu đề

Chart.wordcloud(text, title='Word Cloud', color_palette='vnstock', palette_shuffle=False, max_words=100, width=800, height=400, figsize=(10, 8), fontname=None, savefig=None, show=True)

Cần pip install "vnstock-chart[all]" (gói wordcloud).

Tham sốKiểuMặc địnhÝ nghĩa
textstrbắt buộcVăn bản nguồn
titlestr'Word Cloud'Tiêu đề
color_palettestr'vnstock'Chỉ nhận tên bảng màu có sẵn, lấy trực tiếp bằng brand_palettes[color_palette] — tên sai báo KeyError, không có bảng dự phòng như các hàm khác
palette_shuffleboolFalseXáo trộn màu
max_wordsint100Số từ tối đa hiển thị
widthint800Chiều rộng ảnh word cloud (pixel)
heightint400Chiều cao ảnh word cloud (pixel)
figsizetuple(10, 8)Kích thước hình matplotlib
fontnamestr | NoneNoneChú ý tên tham số là fontname, không phải font_name như các hàm khác
savefigstr | dict | NoneNoneLưu ảnh ngay trong hàm
showboolTrueGọi plt.show()

Tự tìm font Inter nhúng sẵn trong gói nếu có; nếu không, dùng font hệ thống.

Chart.table(data, columns=None, title='', title_loc='left', header=True, colWidths=None, rowLoc='right', colLoc='right', colLabels=None, edges='horizontal', orient='horizontal', figsize=(5.5, 6), savefig=None, show=False)

Tham sốKiểuMặc địnhÝ nghĩa
datapd.DataFramebắt buộcDữ liệu hiển thị (giá trị thô qua .values, không định dạng thêm)
columnslist | NoneNoneĐổi tên cột trước khi vẽ (data.columns = columns)
titlestr''Tiêu đề
title_locstr'left'Vị trí tiêu đề: 'left', 'center', 'right'
headerboolTrueHiện dòng tiêu đề cột
colWidthslist | NoneNoneĐộ rộng từng cột
rowLocstr'right'Căn lề dữ liệu theo hàng
colLocstr'right'Căn lề dữ liệu theo cột
colLabelslist | NoneNoneTên cột hiển thị khi header=False cần nhãn riêng
edgesstr'horizontal'Kiểu viền ô: 'horizontal', 'vertical', 'open', 'closed'… (theo matplotlib.table)
orientstr'horizontal'Hướng bảng (giữ để tương thích, chưa ảnh hưởng cách vẽ)
figsizetuple(5.5, 6)Kích thước hình
savefigstr | dict | NoneNoneLưu ảnh ngay trong hàm
showboolFalseGọi plt.show() — mặc định tắt, khác mọi hàm khác

Không có tham số color_palette — luôn lấy màu từ theme toàn cục (set_theme), không đổi được theo từng lần gọi. Trả về chỉ fig (không phải (fig, ax)).

Chart.summary_card(ticker, company_name, current_price, price_change, price_change_pct, metrics, sparkline_data, signal, **kwargs)

Bảy tham số đầu là bắt buộc, không có giá trị mặc định.

Tham sốKiểuÝ nghĩa
tickerstrMã cổ phiếu, hiện lớn ở góc trái
company_namestrTên công ty; tự cắt và thêm ... nếu dài hơn 45 ký tự
current_pricefloatGiá hiện tại, hiện kèm đơn vị ₫
price_changefloatThay đổi tuyệt đối (quyết định mũi tên lên/xuống và màu)
price_change_pctfloatThay đổi theo %, đơn vị phần trăm thật (ví dụ 1.5 = 1,5%)
metricsdictTối đa 6 cặp khoá/giá trị hiển thị dạng lưới 2×3; khoá là nhãn, giá trị chuyển thẳng sang chuỗi hiển thị
sparkline_datapd.SeriesDữ liệu vẽ đường nhỏ xu hướng (thường 30 phiên gần nhất)
signalstrMột trong 'Tích cực', 'Tiêu cực', 'Trung tính' (hay 'Positive'/'Negative'/'Neutral') — quyết định màu và chữ trên nhãn đánh giá; giá trị khác vẫn hiện nguyên văn, màu xám
color_palette (qua **kwargs)strChỉ nhận tên bảng màu có sẵn (truyền list sẽ lỗi TypeError). Màu tích cực/tiêu cực/phụ lấy từ vị trí 0/3/2
font_name (qua **kwargs)strMặc định 'Inter'
figsize (qua **kwargs)tupleMặc định (9, 5)
lang (qua **kwargs)str'vi' hoặc 'en' — đổi nhãn "Đánh giá"/"Xu hướng 30 ngày" và chữ trên nhãn đánh giá sang tiếng Anh

Không nhận savefig/show — tự fig.savefig(...) trên kết quả trả về (fig, ax).

Chart.rrg(data, symbol_col='industry_name', time_col='time', rs_col='rs_standard_term', rm_col='rm_standard_term', tail_length=5, origin=100.0, title='Relative Rotation Graph (RRG)', figsize=(10, 10), **kwargs)

Tham sốKiểuMặc địnhÝ nghĩa
datapd.DataFramebắt buộcMột dòng mỗi (mã, thời điểm)
symbol_colstr'industry_name'Tên cột chứa mã/tên nhóm so sánh
time_colstr'time'Tên cột thời gian
rs_colstr'rs_standard_term'Tên cột sức mạnh tương đối (trục X)
rm_colstr'rm_standard_term'Tên cột động lượng tương đối (trục Y)
tail_lengthint5Số điểm lịch sử vẽ vệt đuôi cho mỗi mã
originfloat100.0Tâm biểu đồ (giao hai trục); tự chuyển về 0.0 nếu phát hiện dữ liệu đã chuẩn hoá quanh 0
titlestr'Relative Rotation Graph (RRG)'Tiêu đề
figsizetuple(10, 10)Kích thước hình
color_palettestrtheme hiện tạiChỉ nhận tên bảng màu có sẵn (truyền list sẽ lỗi TypeError). Màu từng mã; nếu số mã nhiều hơn số màu trong bảng, tự chuyển sang colormap 'tab20'
font_namestrfont hiện tạiFont nhãn góc phần tư, tên mã
savefigstr | dict | NoneNoneLưu ảnh ngay trong hàm
showboolTrueGọi plt.show()

Cần scipy để vẽ vệt đuôi mượt (dùng nội suy spline); không có scipy thì tự lùi về vẽ đường thẳng nối các điểm, không lỗi.

Utils — tiện ích màu, font

Dùng qua from vnstock_chart.utils import Utils hoặc from vnstock_chart import Utils.

HàmTham sốÝ nghĩa
Utils.apply_palette(color_palette, palette_shuffle=False)color_palette (str | list[str]), palette_shuffle (bool)Áp bảng màu cho ngữ cảnh matplotlib/seaborn hiện tại. Tự gọi bên trong mọi hàm Chart.*
Utils.readable_format(num, fmt=None)num (int | float), fmt (str, tuỳ chọn)Đổi số lớn thành chuỗi gọn (1500 → '1.5K'). Nếu fmt có dấu %, giữ số gốc không chia tỉ lệ
Utils.list_font()—Trả về pd.Series liệt kê mọi font matplotlib đang nhận ra — tiện kiểm trên Colab
Utils.download_font(font_family)font_family (str)Tải một font từ Google Fonts theo đúng tên hiển thị trên đó, đăng ký vào matplotlib
Utils.set_font(font_family)font_family (str)Đặt font toàn cục ngay (không qua set_theme)
Utils.list_cmap()—Trả về pd.Series liệt kê colormap matplotlib có sẵn
Utils.create_cmap(color_palette, cmap_name='custom')color_palette (str | list[str]), cmap_name (str)Dựng một LinearSegmentedColormap từ bảng màu — dùng cho cmap= của heatmap/returns_heatmap
Utils.brand_palettes—dict chứa toàn bộ bảng màu, xem Bảng màu

Ghi chú cho trợ lý AI tự động hoá

  • Mọi hàm trả (fig, ax) hay tương đương — không tự lưu file trừ khi hàm đó có savefig (đã ghi rõ ở bảng từng hàm). Luôn gọi fig.savefig(path, dpi=150, bbox_inches='tight') nếu chạy không có màn hình (đặt thêm show=False để không chờ plt.show() chặn tiến trình).
  • Đọc docstring bất kỳ lúc nào trong phiên bằng help(Chart.candle) (Python chuẩn) hoặc Chart().help('candle') — không cần mở lại trang này, nhưng trang này có vài tham số docstring gốc còn thiếu (đã bổ sung ở bảng trên).
  • color_palette chỉ chấp nhận một danh sách màu hex tự do ở bar, hist, line, scatter, boxplot, pie, heatmap, combo (đi qua Utils.apply_palette, có kiểm isinstance(..., str)). Ở candle, backtest, equity_curve, returns_heatmap, summary_card, rrg chỉ nhận tên bảng màu có sẵn — truyền một list vào các hàm này báo TypeError: unhashable type: 'list', không phải lỗi logic của bạn mà là hạn chế hiện tại của thư viện. treemap, wordcloud cũng chỉ nhận tên, và báo KeyError nếu tên sai (không có bảng dự phòng). table không có tham số này.
  • Tham số không khớp tên đúng bị bỏ qua lặng lẽ ở phần lớn hàm (rơi vào **kwargs rồi bị _filter_plot_kwargs loại, hoặc chuyển thẳng cho pandas/seaborn/mplfinance và gây lỗi từ thư viện đó, không phải từ vnstock_chart) — gõ đúng tên tham số ở bảng trên để chắc có hiệu lực.