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,绘制马歇尔需求
- 新增
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 |
|