You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sage Math如何不使用列表设置散点图的不同点大小

不同大小散点图无额外列表实现方案

匹配你当前代码语法的SageMath环境实现

方案1:逐点叠加绘制(完全无额外列表)

不需要定义任何存储坐标或大小的列表,直接在循环内计算坐标和对应大小,叠加到画布即可:

p = Graphics()
for k in range(1, 101):
    p += point((k, k*sin(k**2)), pointsize=k, color='red')
p.show()

你可以按需调整pointsize后的大小计算逻辑,比如用pointsize=k/2缩小整体点尺寸,或者用pointsize=abs(k*sin(k**2))让点大小和y值挂钩。

方案2:直接传入可迭代对象作为点大小

不需要单独定义size变量/列表,直接把range对象或生成式传入pointsize参数即可:

f = [(k,k*sin(k^2)) for k in range(1,101)]
p = points(f, pointsize=range(1,101), color='red')
p.show()

如果你使用的是Python matplotlib环境

同样不需要额外定义大小列表,直接把大小规则传入scatter的s参数即可:

import matplotlib.pyplot as plt
import numpy as np

k = np.arange(1, 101)
plt.scatter(k, k*np.sin(k**2), s=k, c='red')
plt.show()

效果示意图

散点绘制示意图

内容的提问来源于stack exchange,提问作者Joan Carles Montero Jiménez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:24:03