问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【可视化】Plotly简单上手——交互式图表绘制

创作时间:
作者:
@小白创作中心

【可视化】Plotly简单上手——交互式图表绘制

引用
CSDN
1.
https://m.blog.csdn.net/m0_38065162/article/details/145080555

Plotly是一个功能强大的Python图表库,专用于创建交互式、视觉上吸引人的图表。它支持多种图表类型,如散点图、折线图、柱状图、地图等,且可以与Web应用程序集成。本文将通过一个具体案例,展示如何使用Plotly绘制交互式图表。

代码实现

导入相关库

# -*- coding: UTF-8 -*-
import pandas as pd
import plotly.express as px

加载数据

gdp_df = pd.read_csv("世界各国GDP结构数据 2000-2021.csv",encoding="utf-8")
gdp_stack_df = gdp_df.query("年份 == 2021").melt(id_vars=["地区中文名","地区名称","地区编号"],value_vars=["农业占GDP比重","工业占GDP比重","服务业占GDP比重"],var_name="产业",value_name="比重")
gdp_stack_df

绘制柱状图——2021年GDP最高的20个国家地区

# 数据筛选:首先筛选出2021年的gdp数据,然后使用nlargest()筛选出GDP排名前20的数据
top20_gdp_country = gdp_df.query("年份 == 2021").nlargest(20, 'GDP')
top20_gdp_country = top20_gdp_country.sort_values(by='GDP', ascending=True) # 逆序,此列是为了改变绘图时柱子的顺序
# 创建基本图像:垂直柱状图
fig = px.bar(top20_gdp_country, x='GDP', y='地区中文名', text='GDP', color='GDP', color_continuous_scale='deep', 
             labels={'GDP':'GDP', '地区中文名':'国家地区'},
             title="2021年GDP最高的20个国家地区的排名柱状图",) 
# 图像调整优化
fig.update_traces(texttemplate='%{text:.2f}', textposition='outside') # 设置数值标签保留两位有效数值,并显示在外面
fig.update_layout(xaxis=dict(range=[0, 300000], tickformat=',.0f'))   # 设置x轴的范围,刻度的数值格式
fig.show()

绘制地图——2021年“制造业占GDP比重”的世界地图

# 数据筛选:筛选出"年份 == 2021"的数据
gdp_2021 = gdp_df.query("年份 == 2021")
# 创建基本图像
fig = px.choropleth(
    gdp_2021,
    locations="地区编号",
    color="制造业占GDP比重",
    locationmode="ISO-3",
    color_continuous_scale="Viridis",
    labels={'制造业占GDP比重': '制造业占GDP比重'},
    title='2021年“制造业占GDP比重”的世界地图'
)
# 图像调整优化
# fig.update_geos(projection_type="orthographic")
# 多种投影
fig.update_geos(projection_type="natural earth")
# fig.update_geos(projection_type="mercator")
# fig.update_geos(projection_type="equirectangular")
fig.show()

绘制散点图——人均GDP与农业占GDP比重关系

# 数据筛选:选取人均GDP和农业占GDP比重两个指标绘制散点图
gdp_2021 = gdp_df.query("年份 == 2021") # 还是用2021年的数据
gdp_2021 = gdp_2021.dropna(subset=['人均GDP', '农业占GDP比重']) # 去除NaN即缺失值
# 创建基本图像
fig = px.scatter(gdp_2021, x='人均GDP', y='农业占GDP比重', text='地区中文名',title='人均GDP与农业占GDP比重的散点图')
fig.show()

结果展示

数据可视化展示

如下,由于篇幅有限,本文只展示了柱状图、散点图及地图的绘制。Plotly Express及许多可视化包的学习,离不开大量的实践案例的学习,要总结出绘图的底层逻辑,如数据筛选、创建基本图像和图像调整优化等。



© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号