01-基石题-test
This commit is contained in:
58
01-基石题-test/模型qwen3-coder-plus工具iflow/plot.py
Normal file
58
01-基石题-test/模型qwen3-coder-plus工具iflow/plot.py
Normal file
@@ -0,0 +1,58 @@
|
||||
# /// script
|
||||
# requires-python = ">=3.11"
|
||||
# dependencies = ["numpy", "matplotlib"]
|
||||
# ///
|
||||
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# 设置字体(优先使用中文字体,DejaVu Sans 作为 fallback)
|
||||
plt.rcParams['font.sans-serif'] = ['WenQuanYi Micro Hei', 'Noto Sans CJK SC', 'Microsoft YaHei', 'SimHei', 'SimSun', 'DejaVu Sans']
|
||||
plt.rcParams['axes.unicode_minus'] = False
|
||||
|
||||
# 绑定图像尺寸和 DPI
|
||||
plt.figure(figsize=(8, 6), dpi=150)
|
||||
|
||||
# 定义二次函数 y = -2x^2 + 8x - 3
|
||||
def quadratic_func(x):
|
||||
return -2*x**2 + 8*x - 3
|
||||
|
||||
# 生成x值,覆盖关键区域
|
||||
x = np.linspace(-1, 5, 400)
|
||||
y = quadratic_func(x)
|
||||
|
||||
# 绘制函数曲线
|
||||
plt.plot(x, y, label=r'$y = -2x^2 + 8x - 3$', color='blue', linewidth=2)
|
||||
|
||||
# 标出顶点 (2, 5)
|
||||
vertex_x, vertex_y = 2, 5
|
||||
plt.plot(vertex_x, vertex_y, 'ro', markersize=8, label=f'顶点 ({vertex_x}, {vertex_y})')
|
||||
|
||||
# 添加网格
|
||||
plt.grid(True, linestyle='--', alpha=0.6)
|
||||
|
||||
# 设置坐标轴标签和标题
|
||||
plt.xlabel('x', fontsize=12)
|
||||
plt.ylabel('y', fontsize=12)
|
||||
plt.title('二次函数 $y = -2x^2 + 8x - 3$ 的图像', fontsize=14)
|
||||
|
||||
# 设置坐标轴范围
|
||||
plt.xlim(-1, 5)
|
||||
plt.ylim(-5, 7)
|
||||
|
||||
# 添加图例
|
||||
plt.legend()
|
||||
|
||||
# 在顶点处添加注释
|
||||
plt.annotate(f'顶点\n({vertex_x}, {vertex_y})',
|
||||
xy=(vertex_x, vertex_y),
|
||||
xytext=(vertex_x + 1.2, vertex_y - 1),
|
||||
arrowprops=dict(arrowstyle='->', color='red', lw=1.5),
|
||||
fontsize=12,
|
||||
color='red',
|
||||
ha='center')
|
||||
|
||||
# 保存图像
|
||||
plt.savefig('figure.png', bbox_inches='tight')
|
||||
plt.close()
|
||||
print("图像已保存: figure.png")
|
||||
Reference in New Issue
Block a user