国外 定制网站,重庆市建设工程信息网官网安全监督信息网,电脑做视频的网站吗,沈阳妇幼保健院人流价格表探索 Plotly#xff1a;一个强大的交互式数据可视化库
数据可视化是数据分析过程中不可或缺的一部分#xff0c;它能帮助我们更直观地理解数据#xff0c;发现数据中的趋势和规律。在众多可视化库中#xff0c;Plotly 是一个非常强大的工具#xff0c;它以其交互式、易用…探索 Plotly一个强大的交互式数据可视化库
数据可视化是数据分析过程中不可或缺的一部分它能帮助我们更直观地理解数据发现数据中的趋势和规律。在众多可视化库中Plotly 是一个非常强大的工具它以其交互式、易用性和广泛的功能而备受欢迎。本文将为您介绍 Plotly 的核心功能及其在数据可视化中的应用。 什么是 Plotly
Plotly 是一个基于 Python 的开源库专注于交互式数据可视化。它的特点包括
支持多种图表类型如折线图、柱状图、散点图、饼图、热力图、地图等。交互性强生成的图表可以通过鼠标拖动、缩放、悬停等操作动态探索数据。可导出为 HTML可以将交互式图表嵌入网页。易于集成与 Pandas、NumPy 等数据处理工具无缝兼容。 安装与入门
首先需要确保系统中安装了 Plotly
pip install plotly接下来我们通过一个简单的例子来体验 Plotly 的基本用法。 创建一个简单的折线图
以下代码展示了如何用 Plotly 创建一个交互式折线图
import plotly.graph_objects as go# 数据
x [1, 2, 3, 4, 5]
y [10, 20, 15, 25, 30]# 创建图形对象
fig go.Figure(datago.Scatter(xx, yy, modelinesmarkers, nameExample Line)
)# 添加标题
fig.update_layout(titleSimple Line Chart with Plotly,xaxis_titleX Axis,yaxis_titleY Axis
)# 显示图表
fig.show()执行这段代码后你会看到一个可以缩放和悬停查看数据点的折线图。 用 Pandas 数据快速绘图
当我们处理结构化数据时通常会用 Pandas DataFrame 作为数据源。Plotly 与 Pandas 的结合可以让绘图更加便捷。例如
import pandas as pd
import plotly.express as px# 创建示例 DataFrame
data {Year: [2018, 2019, 2020, 2021],Sales: [200, 300, 400, 500],Profit: [50, 80, 100, 120]
}
df pd.DataFrame(data)# 使用 Plotly Express 绘制柱状图
fig px.bar(df,xYear,ySales,colorProfit,titleSales and Profit by Year
)fig.show()Plotly Express 是 Plotly 提供的一个高层 API支持快速创建图表非常适合用来生成简单的分析图。 高级应用多子图布局
对于更复杂的场景我们可能需要在同一张画布上展示多个图表。Plotly 提供了方便的子图功能
from plotly.subplots import make_subplots# 创建一个包含两个子图的布局
fig make_subplots(rows1, cols2, subplot_titles(Line Chart, Bar Chart))# 添加第一个子图
fig.add_trace(go.Scatter(x[1, 2, 3], y[10, 20, 30], modelines, nameLine),row1, col1
)# 添加第二个子图
fig.add_trace(go.Bar(x[A, B, C], y[5, 15, 10], nameBar),row1, col2
)# 更新布局
fig.update_layout(titleSubplots Example)fig.show()这段代码创建了一个包含折线图和柱状图的复合图表。 使用 Plotly 实现地图可视化
Plotly 还支持地理可视化例如显示地理分布的散点图或热力图。以下是一个示例
import plotly.express as px# 使用自带数据集
df px.data.gapminder()# 绘制气泡地图
fig px.scatter_geo(df.query(year 2007),locationsiso_alpha,sizepop,colorcontinent,hover_namecountry,projectionnatural earth,titleWorld Population in 2007
)fig.show()这种地图非常适合展示具有地理属性的数据。 优势与总结
Plotly 的核心优势在于
交互性使数据分析更加生动。兼容性可与 Pandas、NumPy 等数据处理库无缝协作。跨平台性支持在 Jupyter Notebook、网页和桌面应用中运行。
Plotly 实战从数据分析到交互式仪表盘
理论结合实际才能真正掌握工具的强大之处。在本节中我们将以一个真实的数据分析任务为例完整展示如何利用 Plotly 创建交互式图表并最终构建一个动态仪表盘。 实战场景
假设我们拥有一个电商销售数据集数据包括
订单日期订单发生的时间销售额订单的总金额类别商品的种类地区销售发生的地区
我们将完成以下任务
分析每月销售趋势。比较不同类别的销售贡献。展示地区销售分布。构建交互式仪表盘。 数据准备
首先我们创建一个虚拟的数据集
import pandas as pd
import numpy as np# 生成示例数据
np.random.seed(42)
dates pd.date_range(start2023-01-01, end2023-12-31, freqD)
data {Order Date: np.random.choice(dates, 500),Sales: np.random.randint(100, 1000, size500),Category: np.random.choice([Electronics, Clothing, Home Appliances], 500),Region: np.random.choice([North, South, East, West], 500)
}
df pd.DataFrame(data)# 确认数据结构
print(df.head())我们将使用这个数据集完成后续可视化任务。 分析每月销售趋势
首先计算每月的销售总额并绘制折线图
import plotly.express as px# 数据预处理
df[Order Date] pd.to_datetime(df[Order Date])
df[Month] df[Order Date].dt.to_period(M)
monthly_sales df.groupby(Month)[Sales].sum().reset_index()# 绘制折线图
fig px.line(monthly_sales,xMonth,ySales,titleMonthly Sales Trend,labels{Month: Month, Sales: Total Sales}
)fig.update_traces(modelinesmarkers) # 添加点标记
fig.show()图表展示了每月销售总额的变化趋势便于发现旺季和淡季。 比较不同类别的销售贡献
利用饼图展示不同商品类别的销售占比
# 计算各类别销售额
category_sales df.groupby(Category)[Sales].sum().reset_index()# 绘制饼图
fig px.pie(category_sales,namesCategory,valuesSales,titleSales Contribution by Category,hole0.3 # 创建环形图
)fig.show()饼图清晰地反映了各商品类别对总销售的贡献比例。 展示地区销售分布
用条形图展示不同地区的销售额
# 计算各地区销售额
region_sales df.groupby(Region)[Sales].sum().reset_index()# 绘制柱状图
fig px.bar(region_sales,xRegion,ySales,colorRegion,titleSales by Region,textSales
)fig.update_layout(xaxis_titleRegion, yaxis_titleTotal Sales)
fig.show()条形图显示了各地区的销售水平为制定区域策略提供参考。 构建交互式仪表盘
将上述图表整合到一个交互式仪表盘中
from plotly.subplots import make_subplots
import plotly.graph_objects as go# 创建子图布局
fig make_subplots(rows2, cols2,specs[[{type: xy}, {type: domain}], [{type: xy}, None]],subplot_titles(Monthly Sales Trend, Sales by Category, Sales by Region)
)# 子图1折线图 - 月销售趋势
fig.add_trace(go.Scatter(xmonthly_sales[Month].astype(str), ymonthly_sales[Sales], modelinesmarkers, nameMonthly Sales),row1, col1
)# 子图2饼图 - 类别销售占比
fig.add_trace(go.Pie(labelscategory_sales[Category], valuescategory_sales[Sales], hole0.3, nameCategory Sales),row1, col2
)# 子图3柱状图 - 区域销售分布
fig.add_trace(go.Bar(xregion_sales[Region], yregion_sales[Sales], nameRegion Sales),row2, col1
)# 更新布局
fig.update_layout(titleInteractive Sales Dashboard,showlegendFalse,height800
)fig.show()总结
通过以上步骤我们利用 Plotly 完成了从单图表绘制到仪表盘构建的全过程。在实战中Plotly 的交互性和灵活性使得它非常适合处理复杂的数据可视化需求尤其是需要动态探索数据时。
下一步您可以尝试
将数据动态更新构建实时仪表盘。添加下拉菜单或滑块实现数据过滤和交互功能。将图表导出为 HTML 嵌入到您的报告或网页中。
Plotly 是数据分析师和工程师不可或缺的工具赶快动手试试吧 文章转载自: http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn http://www.morning.cwwbm.cn.gov.cn.cwwbm.cn http://www.morning.dmxzd.cn.gov.cn.dmxzd.cn http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn http://www.morning.xsszn.cn.gov.cn.xsszn.cn http://www.morning.ckcjq.cn.gov.cn.ckcjq.cn http://www.morning.lpnb.cn.gov.cn.lpnb.cn http://www.morning.wbhzr.cn.gov.cn.wbhzr.cn http://www.morning.qtqjx.cn.gov.cn.qtqjx.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.pjwml.cn.gov.cn.pjwml.cn http://www.morning.fyglr.cn.gov.cn.fyglr.cn http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn http://www.morning.ityi666.cn.gov.cn.ityi666.cn http://www.morning.txhls.cn.gov.cn.txhls.cn http://www.morning.crfjj.cn.gov.cn.crfjj.cn http://www.morning.wnjbn.cn.gov.cn.wnjbn.cn http://www.morning.dddcfr.cn.gov.cn.dddcfr.cn http://www.morning.dwfzm.cn.gov.cn.dwfzm.cn http://www.morning.mqbsm.cn.gov.cn.mqbsm.cn http://www.morning.rwrn.cn.gov.cn.rwrn.cn http://www.morning.dtlqc.cn.gov.cn.dtlqc.cn http://www.morning.xgxbr.cn.gov.cn.xgxbr.cn http://www.morning.lxthr.cn.gov.cn.lxthr.cn http://www.morning.ltspm.cn.gov.cn.ltspm.cn http://www.morning.shuangxizhongxin.cn.gov.cn.shuangxizhongxin.cn http://www.morning.ryrgx.cn.gov.cn.ryrgx.cn http://www.morning.ljbm.cn.gov.cn.ljbm.cn http://www.morning.krdmn.cn.gov.cn.krdmn.cn http://www.morning.blqmn.cn.gov.cn.blqmn.cn http://www.morning.rhsg.cn.gov.cn.rhsg.cn http://www.morning.yrck.cn.gov.cn.yrck.cn http://www.morning.dgpxp.cn.gov.cn.dgpxp.cn http://www.morning.hlxpz.cn.gov.cn.hlxpz.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.trmpj.cn.gov.cn.trmpj.cn http://www.morning.wschl.cn.gov.cn.wschl.cn http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn http://www.morning.fcqlt.cn.gov.cn.fcqlt.cn http://www.morning.frpfk.cn.gov.cn.frpfk.cn http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn http://www.morning.pkwwq.cn.gov.cn.pkwwq.cn http://www.morning.srgwr.cn.gov.cn.srgwr.cn http://www.morning.yrqb.cn.gov.cn.yrqb.cn http://www.morning.kfclh.cn.gov.cn.kfclh.cn http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn http://www.morning.yqgny.cn.gov.cn.yqgny.cn http://www.morning.qtzk.cn.gov.cn.qtzk.cn http://www.morning.wqmpd.cn.gov.cn.wqmpd.cn http://www.morning.qqfcf.cn.gov.cn.qqfcf.cn http://www.morning.ydrml.cn.gov.cn.ydrml.cn http://www.morning.gkmwk.cn.gov.cn.gkmwk.cn http://www.morning.dwztj.cn.gov.cn.dwztj.cn http://www.morning.jnoegg.com.gov.cn.jnoegg.com http://www.morning.wrlff.cn.gov.cn.wrlff.cn http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn http://www.morning.qbwtb.cn.gov.cn.qbwtb.cn http://www.morning.fcwb.cn.gov.cn.fcwb.cn http://www.morning.wngpq.cn.gov.cn.wngpq.cn http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn http://www.morning.nqpy.cn.gov.cn.nqpy.cn http://www.morning.bzlfw.cn.gov.cn.bzlfw.cn http://www.morning.qtryb.cn.gov.cn.qtryb.cn http://www.morning.zrkp.cn.gov.cn.zrkp.cn http://www.morning.rxhs.cn.gov.cn.rxhs.cn http://www.morning.txltb.cn.gov.cn.txltb.cn http://www.morning.gwdkg.cn.gov.cn.gwdkg.cn http://www.morning.hxljc.cn.gov.cn.hxljc.cn http://www.morning.mlcwl.cn.gov.cn.mlcwl.cn http://www.morning.rscrj.cn.gov.cn.rscrj.cn http://www.morning.ljdtn.cn.gov.cn.ljdtn.cn http://www.morning.pakistantractors.com.gov.cn.pakistantractors.com http://www.morning.pudejun.com.gov.cn.pudejun.com http://www.morning.grjh.cn.gov.cn.grjh.cn http://www.morning.hmxrs.cn.gov.cn.hmxrs.cn http://www.morning.stsnf.cn.gov.cn.stsnf.cn http://www.morning.fyskq.cn.gov.cn.fyskq.cn http://www.morning.xknmn.cn.gov.cn.xknmn.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn