Tham chiếu đầy đủ tham số
Mục lục
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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
title | str | None | Tiêu đề biểu đồ |
title_fontsize | int | 14 (hiển thị 16 nếu không đặt) | Cỡ chữ tiêu đề |
xlabel | str | None | Nhãn trục X |
ylabel | str | None | Nhãn trục Y |
grid | bool | None (coi như False) | Hiện lưới |
grid_axis | str | 'both' | Trục hiện lưới: 'both', 'x', 'y' |
data_labels | bool | None | Hiện số trên mỗi cột/điểm |
data_label_format | str | '1K' | Định dạng số viết tắt: '1K', '1M', '1B', '1T' |
data_label_position | str | 'outside' | Vị trí nhãn số: 'outside' hoặc 'center' |
data_label_color | str | '#475569' | Màu chữ nhãn số |
data_label_fontsize | int | 10 | Cỡ chữ nhãn số |
label_fontsize | int | None (hiển thị 12 nếu không đặt) | Cỡ chữ nhãn trục X/Y |
legend_title | str | None | Tiêu đề chú giải |
show_legend | bool | True | Hiện chú giải |
legend_fontsize | int | None | Cỡ chữ chú giải |
series_names | list[str] | None | Tên tuỳ chỉnh cho từng dải dữ liệu, hiện trong chú giải |
font_name | str | None | Font chữ, ví dụ 'Inter' |
figsize | tuple[float, float] | None | Kích thước hình, ví dụ (10, 6) |
show_xaxis | bool | True | Hiện trục X. Đặt False để ẩn |
show_yaxis | bool | True | Hiện trục Y. Đặt False để ẩn luôn viền trái |
tick_labelsize | int | None (hiển thị 10 nếu không đặt) | Cỡ chữ số trên trục |
xtick_format | str | None | Định dạng số trên trục X, ví dụ '{:.0f}' |
ytick_format | str | None | Định dạng số trên trục Y, ví dụ '{:.0%}' |
tick_rotation | int | None | Góc xoay nhãn trục (áp cho trục X) |
xlim | tuple[float, float] | None | Giới hạn trục X |
ylim | tuple[float, float] | None | Giới hạn trục Y |
background_color | str | None (mặc định '#ffffff') | Màu nền biểu đồ |
bar_edge_color | str | None (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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
color_palette | str | 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_shuffle | bool | False | Xáo trộn thứ tự màu trong bảng |
show | bool | True (False ở table) | Gọi plt.show() sau khi vẽ. Đặt False khi chạy không có màn hình (script, server) |
ax | matplotlib.axes.Axes | None | Vẽ 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ên | Số màu | Thứ tự ngữ nghĩa |
|---|---|---|
vnstock | 6 | Mặc định của thương hiệu |
percentage | 6 | Thang màu cho tỉ lệ phần trăm |
amount | 10 | Thang xanh nhạt → đậm, cho giá trị tăng dần |
category | 10 | Màu tương phản cao, phân loại nhiều nhóm |
trend | 11 | Màu cho biểu đồ xu hướng nhiều dải |
stock | 4 | Vị trí 0: tăng, 1: giảm, 2: trần, 3: sàn |
flatui | 6 | Bảng màu phẳng chung |
learn_anything | 4 | Bảng màu tương phản mạnh |
beach, forest | 5 | Hai bảng màu theo chủ đề |
academic | 7 | Thứ 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 |
minimal | 6 | Bả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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
theme_name | str | 'vnstock' | Tên bảng màu áp cho mọi biểu đồ sau đó |
logo_path | str | None | logo 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_name | str | None | None (tự dùng font Inter nhúng sẵn nếu có) | Font chữ áp cho mọi biểu đồ |
lang | str | '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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
fig | matplotlib.figure.Figure | bắt buộc | Hình cần chèn logo |
logo_path | str | logo Vnstock | Đường dẫn cục bộ hoặc URL (bắt đầu bằng http thì tải qua mạng) |
position | tuple[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_bottom | float | 0.18 | Chừ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àm | Tham 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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
data | list | pd.Series | bắt buộc | Giá trị từng phần |
labels | list | bắt buộc | Nhãn từng phần |
title | str | — | Tiêu đề |
color_palette | str | list[str] | theme hiện tại | Bảng màu |
palette_shuffle | bool | False | Xáo trộn màu |
legend_title | str | — | Tiêu đề chú giải |
series_names | list | — | Tên tuỳ chỉnh cho chú giải |
figsize | tuple | — | Kích thước hình |
font_name | str | — | Font chữ |
show_legend | bool | True | Hiện chú giải |
title_fontsize | int | — | Cỡ chữ tiêu đề |
legend_fontsize | int | — | Cỡ chữ chú giải |
show | bool | True | Gọ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 |
|---|---|---|
data | pd.DataFrame | Dữ 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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
bar_data | pd.Series | pd.DataFrame | bắt buộc | Dữ liệu vẽ dạng cột (trục Y bên trái) |
line_data | pd.Series | pd.DataFrame | bắt buộc | Dữ liệu vẽ dạng đường (trục Y bên phải) |
left_ylabel | str | 'Bar Data' | Nhãn trục Y trái |
right_ylabel | str | 'Line Data' | Nhãn trục Y phải |
color_palette | str | list[str] | theme hiện tại | Lấ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_shuffle | bool | False | Xá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 |
show | bool | True | Gọ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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
data | pd.DataFrame | bắt buộc | Cộ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 |
title | str | '' | Tiêu đề |
figsize | tuple[float, float] | (12, 8) | Kích thước hình |
volume | bool | True | Vẽ thêm khung khối lượng |
overlays | list | None | Đườ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} |
subplots | list | None | Thê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_palette | str | theme hiện tại | Chỉ 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_name | str | font hiện tại của matplotlib | Font cho tiêu đề |
show | bool | True | Gọ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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
data | pd.DataFrame | bắt buộc | Giá OHLC(V), như candle |
trades | pd.DataFrame | list[dict] | np.ndarray | None | None | Lệ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) |
portfolio | pd.DataFrame | None | None | Hiệ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) |
title | str | 'Backtest Results' | Tiêu đề |
figsize | tuple | (14, 10) | Kích thước hình |
volume | bool | True | Vẽ khung khối lượng |
overlays | list | None | Giống candle |
color_palette | str | theme hiện tại | Chỉ 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_name | str | font hiện tại | Font tiêu đề |
show | bool | True | Gọi plt.show() |
savefig | str | dict | None | None | Có 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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
data | pd.Series | pd.DataFrame | bắt buộc | Đường vốn tích luỹ (lấy cột đầu nếu là DataFrame) |
benchmark | pd.Series | pd.DataFrame | None | None | Đường vốn tích luỹ của benchmark, vẽ chồng để so sánh |
title | str | 'Equity Curve & Drawdown' | Tiêu đề |
figsize | tuple | (10, 6) | Kích thước hình |
color_palette | str | theme hiện tại | Chỉ 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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
data | pd.Series | pd.DataFrame | bắt buộc | Lợ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) |
title | str | 'Monthly Returns Heatmap' | Tiêu đề |
figsize | tuple | (10, 5) | Kích thước hình |
color_palette | str | theme hiện tại | Chỉ 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 |
|---|---|---|
data | pd.DataFrame | Ma 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 |
show | bool | Gọ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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
values | list | pd.Series | bắt buộc | Giá trị từng ô, quyết định diện tích |
labels | list | bắt buộc | Nhãn từng ô |
title | str | '' | Tiêu đề |
color_palette | str | '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_shuffle | bool | False | Xáo trộn màu |
figsize | tuple | (10, 8) | Kích thước hình |
title_fontsize | int | 14 (hiển thị 16 nếu không đặt) | Cỡ chữ tiêu đề |
fontsize | int | 10 | Cỡ chữ bên trong mỗi ô (qua **kwargs, chuyển cho squarify) |
font_name | str | — | 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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
text | str | bắt buộc | Văn bản nguồn |
title | str | 'Word Cloud' | Tiêu đề |
color_palette | str | '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_shuffle | bool | False | Xáo trộn màu |
max_words | int | 100 | Số từ tối đa hiển thị |
width | int | 800 | Chiều rộng ảnh word cloud (pixel) |
height | int | 400 | Chiều cao ảnh word cloud (pixel) |
figsize | tuple | (10, 8) | Kích thước hình matplotlib |
fontname | str | None | None | Chú ý tên tham số là fontname, không phải font_name như các hàm khác |
savefig | str | dict | None | None | Lưu ảnh ngay trong hàm |
show | bool | True | Gọ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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
data | pd.DataFrame | bắt buộc | Dữ liệu hiển thị (giá trị thô qua .values, không định dạng thêm) |
columns | list | None | None | Đổi tên cột trước khi vẽ (data.columns = columns) |
title | str | '' | Tiêu đề |
title_loc | str | 'left' | Vị trí tiêu đề: 'left', 'center', 'right' |
header | bool | True | Hiện dòng tiêu đề cột |
colWidths | list | None | None | Độ rộng từng cột |
rowLoc | str | 'right' | Căn lề dữ liệu theo hàng |
colLoc | str | 'right' | Căn lề dữ liệu theo cột |
colLabels | list | None | None | Tên cột hiển thị khi header=False cần nhãn riêng |
edges | str | 'horizontal' | Kiểu viền ô: 'horizontal', 'vertical', 'open', 'closed'… (theo matplotlib.table) |
orient | str | 'horizontal' | Hướng bảng (giữ để tương thích, chưa ảnh hưởng cách vẽ) |
figsize | tuple | (5.5, 6) | Kích thước hình |
savefig | str | dict | None | None | Lưu ảnh ngay trong hàm |
show | bool | False | Gọ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 |
|---|---|---|
ticker | str | Mã cổ phiếu, hiện lớn ở góc trái |
company_name | str | Tên công ty; tự cắt và thêm ... nếu dài hơn 45 ký tự |
current_price | float | Giá hiện tại, hiện kèm đơn vị ₫ |
price_change | float | Thay đổi tuyệt đối (quyết định mũi tên lên/xuống và màu) |
price_change_pct | float | Thay đổi theo %, đơn vị phần trăm thật (ví dụ 1.5 = 1,5%) |
metrics | dict | Tố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_data | pd.Series | Dữ liệu vẽ đường nhỏ xu hướng (thường 30 phiên gần nhất) |
signal | str | Mộ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) | str | Chỉ 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) | str | Mặc định 'Inter' |
figsize (qua **kwargs) | tuple | Mặ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ểu | Mặc định | Ý nghĩa |
|---|---|---|---|
data | pd.DataFrame | bắt buộc | Một dòng mỗi (mã, thời điểm) |
symbol_col | str | 'industry_name' | Tên cột chứa mã/tên nhóm so sánh |
time_col | str | 'time' | Tên cột thời gian |
rs_col | str | 'rs_standard_term' | Tên cột sức mạnh tương đối (trục X) |
rm_col | str | 'rm_standard_term' | Tên cột động lượng tương đối (trục Y) |
tail_length | int | 5 | Số điểm lịch sử vẽ vệt đuôi cho mỗi mã |
origin | float | 100.0 | Tâ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 |
title | str | 'Relative Rotation Graph (RRG)' | Tiêu đề |
figsize | tuple | (10, 10) | Kích thước hình |
color_palette | str | theme hiện tại | Chỉ 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_name | str | font hiện tại | Font nhãn góc phần tư, tên mã |
savefig | str | dict | None | None | Lưu ảnh ngay trong hàm |
show | bool | True | Gọ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àm | Tham 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ọifig.savefig(path, dpi=150, bbox_inches='tight')nếu chạy không có màn hình (đặt thêmshow=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ặcChart().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_palettechỉ chấp nhận một danh sách màu hex tự do ởbar,hist,line,scatter,boxplot,pie,heatmap,combo(đi quaUtils.apply_palette, có kiểmisinstance(..., str)). Ởcandle,backtest,equity_curve,returns_heatmap,summary_card,rrgchỉ 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áoTypeError: 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,wordcloudcũng chỉ nhận tên, và báoKeyErrornếu tên sai (không có bảng dự phòng).tablekhô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
**kwargsrồi bị_filter_plot_kwargsloạ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.