运用如上数据,import plotly.express as px import plotly.graph_objs as go import pandas as pd import geopandas as gpd df = pd.read_csv(r'D:\data visualization\sucai\acs2015_county_data.csv', index_col=0) state_income = df.groupby('State')['IncomePerCap'].mean().reset_index() fig = px.choropleth(state_income, locations='State', locationmode="USA-states", scope="usa", color='IncomePerCap', hover_name='State', title='Mean Income per Capita by State') fig.show()为什么图上没有显示数据,如何修改
时间: 2024-03-05 09:54:30 浏览: 18
可能是因为 `state_income` 数据框中的 `State` 列中有缩写的州名,而地图中使用的是全称。你可以在 `state_income` 数据框中添加一列全称的州名,然后将 `locations` 参数改为新添加的全称州名列即可。代码如下:
```python
abbr_to_name = {
'AL': 'Alabama',
'AK': 'Alaska',
...
}
state_income['state_name'] = state_income['State'].map(abbr_to_name)
fig = px.choropleth(state_income,
locations='state_name', # 使用新添加的州名全称列
locationmode="USA-states",
scope="usa",
color='IncomePerCap',
hover_name='state_name', # 同样使用新添加的州名全称列
title='Mean Income per Capita by State')
fig.show()
```
其中 `abbr_to_name` 是一个字典,将州名的缩写映射到全称。你需要添加所有州名的缩写和对应的全称。
相关问题
import plotly.graph_objs 与import plotly.express 的区别是什么?
import plotly.graph_objs 和 import plotly.express 的区别在于,前者是使用基础的图形对象来创建图表,而后者则是使用高级的快速绘图函数来创建图表。具体来说,plotly.graph_objs 提供了更多的自定义选项和更高级的功能,但需要更多的代码来实现,而 plotly.express 则提供了更简单的语法和更快的绘图速度,但自定义选项相对较少。
#价格热力图 import plotly.graph_objs as go from plotly.subplots import make_subplots这段代码的三个bag错在哪里
这段代码中的三个错误应该是:
1. 缺少代码的完整部分,无法确定是否缺少必要的导入语句。
2. 在导入 `make_subplots` 时,应该从 `plotly.subplots` 中导入,而不是 `plotly.tools`。
3. 在导入 `plotly.graph_objs` 时,应该将其重命名为 `go`,否则在代码中需要频繁使用 `plotly.graph_objs` 会显得冗长。