运行plt.figure(figsize=(12,10)) sns.scatterplot(x='GEO_LON', y='GEO_LAT', hue='DISTRICT_ID', data=df[(df['OFFENSE_CATEGORY_ID'] == 'murder')]) 出现 AttributeError: 'str' object has no attribute 'view'的报错
时间: 2024-01-03 14:05:20 浏览: 161
这个错误通常是由于数据类型不匹配引起的。请检查您提供给 `sns.scatterplot` 的数据是否正确。您可以尝试将 `GEO_LON`, `GEO_LAT` 和 `DISTRICT_ID` 的数据类型转换为数值型或分类型,看看是否解决了这个问题。您可以使用 `pd.to_numeric()` 或 `astype()` 函数来转换数据类型。如果问题仍然存在,请检查您的 seaborn 版本是否过旧,如果是,请尝试更新 seaborn。
相关问题
PCA_df = pd.DataFrame(PCAPipeline.fit_transform(X_train)) y_train.reset_index(drop=True, inplace=True) PCA_df = pd.concat([PCA_df, y_train], axis=1, ignore_index=True ) PCA_df.head(); plt.figure(figsize=(8,8)) sns.scatterplot(PCA_df[0],PCA_df[1],hue=PCA_df[3],palette=sns.color_palette("tab10", 2)) plt.show()
这段代码看起来像是使用PCA对训练数据进行降维,然后将降维后的数据和对应的标签合并成一个新的DataFrame,并画出散点图。其中,PCA_df是降维后的数据,X_train是原始数据,y_train是对应的标签,PCAPipeline是PCA模型的Pipeline。第一行代码使用fit_transform函数将训练数据进行降维,第二行代码将标签的索引重置并与降维后的数据进行合并,第三行代码画出散点图。
fig = plt.figure(figsize=frame_param.long_fig[0], dpi=frame_param.long_fig[1]) geo_axes, proj_1 = axes_helper.get_geo_axes(fig, frame_param.long_fig_geosize) show_fig_logo(fig) colorbar_axes = fig.add_axes(frame_param.colorbar_axes) ct = ColorTable() rc12 = ct.ColorRecords['Rain12HCR'] x, y, v = get_grid_data(rain_frame, 'sum') # 填色 v = gaussian_filter(v, sigma=3) cs = geo_axes.contourf(x, y, v, levels=rc12.Level, colors=rc12.StrColor) # 填图 c_level_station = rain_frame_ah[ (rain_frame_ah['sw_flag'] == 0) & (rain_frame_ah['Station_Id_C'].str.startswith('5'))] c_level_station = c_level_station.reset_index()可以帮我改成在地里坐标轴上绘制散点图吗
当然可以,你可以使用`geo_axes.scatter`方法在地图上绘制散点图。下面是修改后的代码:
```
fig = plt.figure(figsize=frame_param.long_fig[0], dpi=frame_param.long_fig[1])
geo_axes, proj_1 = axes_helper.get_geo_axes(fig, frame_param.long_fig_geosize)
show_fig_logo(fig)
colorbar_axes = fig.add_axes(frame_param.colorbar_axes)
ct = ColorTable()
rc12 = ct.ColorRecords['Rain12HCR']
x, y, v = get_grid_data(rain_frame, 'sum')
# 填色
v = gaussian_filter(v, sigma=3)
cs = geo_axes.contourf(x, y, v, levels=rc12.Level, colors=rc12.StrColor)
# 在地图上绘制散点图
c_level_station = rain_frame_ah[(rain_frame_ah['sw_flag'] == 0) & (rain_frame_ah['Station_Id_C'].str.startswith('5'))]
c_level_station = c_level_station.reset_index()
# 将经纬度坐标转换为地图坐标
lon = c_level_station['Lon'].values
lat = c_level_station['Lat'].values
x, y = proj_1(lon, lat)
geo_axes.scatter(x, y, s=10, c='red')
```
这里我假设你的散点数据包含经纬度信息,我们需要将其转换为地图坐标。另外,`scatter`方法中的参数`s`表示散点的大小,`c`表示散点的颜色。你可以根据需要自行修改。
阅读全文
相关推荐











