[英]How to make scatterplot with nested array of arrays
我正在嘗試使用我擁有的坐標列表進行散點 plot。 我只是很困惑如何將這些坐標分成 x 和 y,以便我可以將它插入 plt.scatter() function,特別是考慮到它是 arrays 的嵌套數組。
array([array([1., 0.]), array([ 0., -1.]), array([-1., 0.]),
array([-1., -1.]), array([ 1., -1.]), array([ 0., -2.]),
array([-2., 0.]), array([2., 0.]), array([-2., -1.]),
array([ 2., -1.]), array([-1., -2.]), array([ 1., -2.]),
array([-2., -2.]), array([ 2., -2.]), array([ 0., -3.]),
array([3., 0.]), array([-3., 0.]), array([ 1., -3.]),
array([-1., -3.]), array([ 3., -1.]), array([-3., -1.]),
array([-2., -3.]), array([ 3., -2.]), array([-3., -2.]),
array([ 2., -3.]), array([-4., 0.]), array([4., 0.]),
array([-4., -1.]), array([ 4., -1.]), array([-3., -3.]),
array([ 3., -3.]), array([ 4., -2.]), array([-4., -2.]),
array([ 4., -3.]), array([-4., -3.]), array([-1., -5.]),
array([ 1., -5.]), array([-5., -1.]), array([-5., -2.]),
array([-5., -3.]), array([ 3., -5.]), array([-3., -5.]),
array([-6., 0.]), array([-6., -1.]), array([-6., -2.]),
array([-6., -3.]), array([-5., -5.]), array([-7., -1.]),
array([ 1., -7.]), array([-1., -7.]), array([-7., -2.]),
array([-3., -7.]), array([-7., -3.]), array([ 3., -7.]),
array([-7., -5.]), array([-5., -7.]), array([-1., -9.]),
array([ 1., -9.]), array([ 3., -9.]), array([-3., -9.]),
array([-7., -7.]), array([-5., -9.]), array([ 1., -11.]),
array([ -1., -11.]), array([ -3., -11.]), array([ 3., -11.]),
array([-7., -9.]), array([ -5., -11.]), array([ -7., -11.])],
dtype=object)
import numpy as np
import matplotlib.pyplot as plt
arr = np.array([
0,
np.array([0., 3.]),
np.array([2., 4.]),
np.array([-3., -1.]),
np.array([-4., 2.]),
np.array([2., 0.]),
np.array([-2., -2.])
], dtype=object)[1:]
print(repr(arr))
印刷:
array([array([0., 3.]), array([2., 4.]), array([-3., -1.]),
array([-4., 2.]), array([2., 0.]), array([-2., -2.])],
dtype=object)
然后你可以使用np.stack
(正如其他人已經在評論中建議的那樣)將arr
轉換為二維數組:
arr = np.stack(arr)
print(repr(arr))
打印:
array([[ 0., 3.],
[ 2., 4.],
[-3., -1.],
[-4., 2.],
[ 2., 0.],
[-2., -2.]])
並且比 plot 更容易:
plt.scatter(arr[:, 0], arr[:, 1])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.