我有一个数据框,其中包含一系列我正在映射的时间序列地理数据。
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:无效的rgba arg“689576.0”to_rgb:无效的rgb arg“689576.0”无法将参数转换为rgb序列
我的数据集有大约130万个数据点,多个重复日期与不同事件相关。我想在那么多日期使用颜色条不会有问题,因为它有16M颜色。 Looking at the docs,matplotlib.pyplot.scatter()
,c
arg可以是“单个颜色格式字符串,或长度为N的颜色规范序列,或者要映射到颜色的N个数字序列”
我做错了什么以及如何解决?