v1.12.0 2026-09-26 |
新功能
highlight_level 可強調一條主要無異曲線,其餘效用水準會使用淡化的次要樣式
secondary_stroke 與主題欄位可控制次要曲線的顏色、線寬與不透明度
- 支援數值與序數標籤(u1、u2……);標籤會跟隨曲線角度並避開圖形邊界
變更
- 主要與次要曲線標籤共用主題的無異曲線標籤樣式;平滑、線性、拗折與飽和偏好仍完整支援
|
v1.11.0 2026-09-26 |
新功能
- 補齊圖形背景、標籤、線條、標記點與輔助經濟線條的主題控制
- 新增
paper、monochrome、presentation 與 dark 四個內建主題
- 新增主題層級的
background_color 與 label_scale 控制
|
v1.10.1 2026-09-26 |
維護
- 在開發工具與 CI 加入 Ruff 程式碼檢查、格式驗證及 Mypy 型別檢查
- 加入
py.typed,將 econ-viz 發布為 PEP 561 型別套件
- 將公開例外訊息統一為英文
錯誤修正
- 補上等高線層級型別註記缺少的 NumPy import
- 讓 Edgeworth Pareto 搜尋的每個 closure 綁定各自的權重
|
v1.10.0 2026-09-26 |
新功能
- 新增
Config,從 econ-viz.toml 設定檔載入圖形設定;Config.load(...).use() 會把它設為預設
- 新增
econ-viz init 產生附註解的設定檔範本,econ-viz plot --config 可讀取設定檔
變更
- 沒有指定 theme 或字體時,圖形改用目前生效的
Config;沒有設定檔時輸出不變
- Python 3.10 需要安裝
tomli
|
v1.9.0 2026-09-26 |
新功能
- 價格效果分解預設畫出無異曲線:通過 A 的 U0、通過 C 的 U1,Slutsky 分解還有通過 B 的曲線
- 新增
Haagsma 效用模型,其商品 x 一定是劣等財,所得夠高時成為季芬財
- 新增
Legend,自動放在最不擋到圖形的位置,也可指定角落或圖外的上下左右
- 所有文字都能用
Label 調整:座標軸標籤、原點、標題、效果標籤、Edgeworth 箱形圖文字
Stroke、Marker、Label、Legend、Effect、Fill 都支援 opacity
變更
- 既有的效果分解圖會多出無異曲線;傳入
show_curves=False 即可回到原本的圖
- 效果範圍箭頭改為單向,從 A 指向 B、從 B 指向 C
錯誤修正
- 提高最適化的精度,比較靜態與 Slutsky 矩陣更準確
- 效用為負值的無異曲線改畫實線
|
v1.8.0 2026-09-26 |
新功能
Effect 可設定價格效果分解中每個效果的顏色、範圍箭頭高度與標籤
Marker 可設定畫布、需求圖與 Edgeworth 箱形圖中點的顏色、大小與形狀
Label 可設定點標籤的文字、位置(上下左右與四個角落)、位移、顏色、大小與是否顯示,也能隱藏效果分解的 A/B/C 標籤
Fill 讓預算集合的陰影可以有自己的顏色與透明度
Axis 用一個物件設定單一座標軸的標籤、標籤位置與線條
- 新增標記點、標籤與陰影的主題預設值,例如
theme.eq_marker、theme.point_label 與 theme.budget_fill
變更
- 均衡點的預設大小從 6 縮小為 4
- 建議用
Stroke 設定線條樣式,另外的顏色、粗細與線型參數保留為簡寫
錯誤修正
- 楔形箭頭在畫面上維持固定大小,不再沿整條線拉長
- Edgeworth 箱形圖均衡點的無異曲線會套用
stroke_a / stroke_b
|
v1.7.0 2026-09-25 |
新功能
Canvas 與 Figure 可分別設定座標軸標籤位置、線條樣式與箭頭樣式
- 可為單張圖設定文字與數學字體,不會改動 Matplotlib 的全域設定
Stroke 統一控制畫布、多面板圖、需求圖與 Edgeworth 箱形圖中的線條粗細、線條樣式、顏色與箭頭樣式
econ-viz --version 可顯示已安裝的套件版本
錯誤修正
- 修正效用模型的參數定義域、非對稱 CES 擴張路徑、Cobb-Douglas 極限,以及所得未用盡時的飽和偏好最適解
- 等高線水準可正確處理零與負效用值
- 比較靜態在價格、所得或最低消費限制附近改用邊界安全的有限差分
- 所有範例腳本皆可從全新 checkout 直接執行
維護
- 套件管理與建置流程遷移至
uv
- CI 測試 Python 3.10–3.13、檢查分支覆蓋率,並執行所有可執行範例
- 版本標籤觸發的發佈流程只有在測試通過後才會上傳套件
|
v1.6.0 2026-04-24 |
新功能
- 預設配色改為色盲友善配色,並提供可重複使用的
themes.COLORBLIND_CYCLE_RGB 與 themes.COLORBLIND_CYCLE_HEX
- 無異曲線的預設線寬從
2.0 調整為 1.8
維護
- 動畫範例移至
examples/scripts/animation.py
- 不再追蹤
examples/output/ 底下產生的檔案
測試
|
v1.5.0 2026-04-21 |
新功能
- 新增純 TikZ 匯出後端,
Canvas.save() 與 Figure.save() 支援 .tex
- 新增價格效果分解:
decompose_price_effect()、PriceEffectDecomposition,以及繪製 A/B/C 消費組合與替代/所得效果的 Canvas.add_decomposition()
- 分解相關 API 可直接從套件根目錄匯入
- 新增分解、需求圖、PCC/ICC 路徑、多面板版面與 TikZ 匯出的範例腳本
錯誤修正
重構
測試
|
v1.4.0 2026-04-09 |
新功能
- 新增
Animator,透過 Pillow 匯出參數變動的 GIF,不需要 ffmpeg
- 新增
WidgetViewer,在 Jupyter 筆記本中用滑桿調整參數
- 新增選用依賴
animation、interactive 與 all
- 新增常見效用函數的參數、價格、所得與只有預算線的 GIF 範例
- 影格先疊在純色背景上再匯出,GIF 更穩定
- 筆記本互動元件除了滑桿,也能直接輸入數值
測試
- 新增
Animator 與 WidgetViewer 的測試
|
v1.3.2 2026-04-03 |
錯誤修正
維護
|
v1.3.1 2026-04-03 |
新功能
- Edgeworth 內部拆分為計算、狀態與繪圖三個模組
- 新增模型登錄表(
models.registry),命令列工具改由它建立模型
重構
- 命令列工具的錯誤改為拋出
CliConfigError,並統一在 cli.main 處理結束流程
- 等高線水準的共用規則集中到
contours.level_policies
Canvas、Figure 與 EdgeworthBox 共用同一個匯出器(io.exporter)
- Canvas 的繪製邏輯拆分到
canvas.renderers 與 canvas.primitives
- 套件根目錄的匯出改為延遲載入,公開 API 不變
|
v1.3.0 2026-04-03 |
新功能
- 新增
EdgeworthBox 與 EquilibriumFocusConfig,繪製兩人交換的 Edgeworth 箱形圖
- 新增契約線、核、Walras 均衡疊圖,以及聚焦於均衡的無異曲線
- 新增涵蓋常見效用函數組合的
examples/edgeworth_box.py
- 新增 Edgeworth 專屬測試
|
v1.2.3 2026-03-31 |
新功能
SlutskyMatrix 新增對稱性、半負定性與齊次性檢查,條件不成立時會發出警告
- 命令列工具支援
QuasiLinear、StoneGeary 與 Translog
|
v1.2.2 2026-03-31 |
錯誤修正
- PCC/ICC 路徑預設平滑化,端點稍微延伸,標記點預設不顯示
- PCC/ICC 路徑改用獨立顏色,需求圖的商品空間邊距加大
- 新增 PCC/ICC 範例產生器與測試
|
v1.2.0 2026-03-30 |
新功能
- 新增多面板
Figure 版面與 Layout 列舉
- 新增連動的
DemandDiagram,繪製 Marshall 需求
- 新增
PricePath、IncomePath 與 Canvas.add_path(),繪製 PCC/ICC
|
v1.1.0 2026-03-30 |
新功能
- 新增比較靜態工具
comparative_statics
- 分析模組新增
HomogeneityAnalyzer 與 ReturnsToScale
- 新增
Translog 模型,並支援圖例與無異曲線標籤
|
v1.0.2 2026-03-29 |
錯誤修正
- 數學式座標軸標籤不再被重複包裝
- 移除 NumPy 版本上限,避免在 Colab 上發生衝突
|
v1.0.1 2026-03-29 |
錯誤修正
- 鎖定
numpy<2,避免在 Colab 與本機安裝時 ABI 不相容
維護
- 放寬 Python 與 NumPy 版本限制,
pytest 鎖定在 8.x
|
v1.0.0 2026-03-28 |
|