跳轉到

更新紀錄

econ-viz 的版本歷史,不列出只有文件更新的項目。

版本更新內容
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/ 底下產生的檔案

測試

  • TikZ 座標軸回歸測試不再依賴顏色索引
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 匯出的範例腳本

錯誤修正

  • 筆記本在 Colab 上的安裝流程可安全重新啟動

重構

  • 改善共用面板版面中座標軸標籤的位置與顯示控制

測試

  • 新增 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

錯誤修正

  • Edgeworth 契約線與價格線預設為黑色虛線

維護

  • 發佈流程會略過 PyPI 上已存在的版本
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
  • 首次發布

留言