我刚刚开始学习Python。但是,有一个问题。
我尝试使用一些坐标点将其与曲线或直线连接。
或者...您可以简单地更改此代码吗?
first_coordinate
A_lon = np.array([126.393, 127.012, 127.545, 128.035, 128.544, 128.768, 129.239])
A_lat = np.array([37.277, 37.553, 37.343, 37.576, 37.486, 37.924, 37.795])
A_lon_new = np.linspace(A_lon.min(), A_lon.max(),500)
f = interp1d(A_lon, A_lat, kind='quadratic')
A_lat_new = f(A_lon_new)
A_x, A_y = map(A_lon, A_lat)
A_x1, A_y1 = map(A_lon_new, A_lat_new)
m.plot (A_x, A_y, "ko", markersize=5)
直线
m.plot(A_x, A_y, color='b', linestyle = '--', linewidth=1.5)
曲线_线
m.scatter (A_x1, A_y1, color='r', linestyle = '--', linewidth=1.5)
第二个坐标
B_lon = np.array([126.285, 127.314, 127.653, 128.214, 128.92, 129.057, 129.735])
B_lat = np.array([36.132, 35.847, 35.93, 36.406, 36.102, 36.4, 36.816])
B_lon_new = np.linspace(B_lon.min(), B_lon.max(),500)
f = interp1d(B_lon, B_lat, kind='quadratic')
B_lat_new = f(B_lon_new)
B_x, B_y= map(B_lon, B_lat)
B_x1, B_y1 = map(B_lon_new, B_lat_new)
m.plot (B_x, B_y, "ko", markersize=5)
直线
m.plot (B_x, B_y, color='b', linestyle = '--', linewidth=1.5)
曲线_线
m.plot(B_x1, B_y1, color='r', linestyle = '-', linewidth=1.5)
plt.show()
我遇到此错误:
TypeError Traceback (most recent call last)
<ipython-input-2-6e05a05d2dab> in <module>()
76 A_lat_new = f(A_lon_new)
77
---> 78 A_x, A_y = map(A_lon, A_lat)
79 A_x1, A_y1 = map(A_lon_new, A_lat_new)
80
TypeError: 'numpy.ndarray' object is not callable
答案 0 :(得分:3)
看起来令人讨厌的代码行是
A_x, A_y = map(A_lon, A_lat)
map
函数将应用到某种列表或可迭代列表中。例如
map(lambda x: 2*x, [1, 2, 3])
# [2, 4, 6]
A_lon
中的对象绝对是数组而不是函数。您是否正在尝试将这两个数组与zip
之类的函数结合在一起?