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

Julia中绘制二维数组坐标序列出错,如何生成抛物线图形?

Julia中plot抛物线异常的原因及修复方案

问题根源

你定义的数组M是一个存储多个二维子数组的一维数组(类型为Vector{Vector{Int64}})。当调用plot(M)时,绘图库(比如Plots.jl)会误将每个子数组视为独立的数据集来绘制,而不是把所有子数组里的x和y对应起来组成一组连续的点,所以得到的图形不符合预期。

修复方法

这里提供几种可行的解决方式:

1. 将数组转换为矩阵格式

把M转成每行对应一个(x,y)点的矩阵,绘图库就能正确识别坐标对:

# 转换为n×2的矩阵
M_matrix = hcat(M...)'
# 绘制抛物线
plot(M_matrix[:,1], M_matrix[:,2])
# 或者直接一行搞定
plot(hcat(M...)')

2. 手动拆分x、y数组

单独提取所有x值和对应的y值,再传入plot:

x = [point[1] for point in M]
y = [point[2] for point in M]
plot(x, y)

3. 初始定义时就用正确格式

如果重新定义数组,可以直接用矩阵格式,避免后续转换:

# 每行是一个(x,y)点
M = [1 1; 2 4; 3 9; 4 16; 5 25; 6 36; 7 49; 8 64; 9 81; 10 100; 11 121; 12 144]
plot(M[:,1], M[:,2])

或者更简洁的方式生成抛物线数据(利用y=x²的规则):

x = 1:12
y = x.^2
plot(x, y)

内容的提问来源于stack exchange,提问作者jboy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:15:33