Python 使用Basemap.scatter()时出现ValueError
我有一个数据框架,其中包含我正在映射的一组时间序列地理数据Python 使用Basemap.scatter()时出现ValueError,python,matplotlib,plot,Python,Matplotlib,Plot,我有一个数据框架,其中包含我正在映射的一组时间序列地理数据 my_map = Basemap( projection="tmerc", lon_0=-105, lat_0=39, ellps="WGS84", llcrnrlon=coords[0] - extra + 0.01 * w, llcrnrlat=coords[1] - extra + 0.01 * h, urcrnrlon=coords[2] + extra + 0.03 * w, urcrnrlat=coords[3] + ext
my_map = Basemap(
projection="tmerc",
lon_0=-105,
lat_0=39,
ellps="WGS84",
llcrnrlon=coords[0] - extra + 0.01 * w,
llcrnrlat=coords[1] - extra + 0.01 * h,
urcrnrlon=coords[2] + extra + 0.03 * w,
urcrnrlat=coords[3] + extra + 0.01 * h,
lat_ts=0,
resolution="h",
suppress_ticks=True)
my_map.readshapefile("...", "colorado")
df_map = pd.DataFrame({
"poly": [Polygon(xy) for xy in my_map.colorado],
"business_name": [business["NAME"] for business in my_map.colorado_info]
})
map_points = pd.Series([Point(my_map(mapped_x, mapped_y)) for mapped_x, mapped_y in zip(df[1], df[0])])
business_points = MultiPoint(list(map_points.values))
county_polygons = prep(MultiPolygon(list(df_map["poly"].values)))
colorado_points = filter(county_polygons.contains, business_points)
fig, ax = plt.subplots()
map_colors = [date2num(i) for i in df["datecreated"]]
dev = my_map.scatter(
[geom.x for geom in colorado_points],
[geom.y for geom in colorado_points],
5, marker="o", lw=.25,
c=map_colors, edgecolor='w', cmap=plt.cm.viridis,
alpha=0.9, antialiased=True,
label='Business Locations')
当我调用my_map.scatter()
时,它会不断抛出以下错误:
ValueError:to_rgba:Invalid rgba arg“689576.0”to_rgb:Invalid rgb
arg“689576.0”无法将参数转换为rgb序列
我的数据集大约有130万个数据点,多个重复的日期与不同的事件相关。我希望在这么多的日期使用颜色条不会有问题,因为有1600万种颜色matplotlib.pyplot.scatter()
我做错了什么?我如何修复它
完全回溯:
.您传递给c
参数的scatter
的值似乎不是可接受的值。尝试将其转换为int、string或list格式。玩转itIt在这种情况下有效:您能在问题中包含完整的堆栈跟踪吗?你确定是c
参数是罪魁祸首,而不是别的吗?@mkrieger1在帖子中添加了回溯URL。甚至对我也有用。因此,我想您应该创建一个可运行的(删除shapefile导入,定义df
或删除它,删除尽可能多的代码以仍然重现错误)。