跳转至

更新日志

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,绘制马歇尔需求
  • 新增 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
  • 首次发布

评论