当前位置: 首页 > java >正文

数据直观分析与可视化

数据直观分析与可视化


一、数据的直观分析核心价值

数据的直观分析旨在通过视觉化的方式,帮助人们更直观、更快速地理解数据的特征和模式,从而发现趋势、异常值、分布情况以及变量之间的关系,为决策提供支持。

数据可视化与信息图形、信息可视化、科学可视化及统计图形密切相关。

可视化的终极目标是洞悉蕴含在数据中的现象和规律,这里面有多重含义:发现、决策、解释、分析、探索和学习。


二、特殊统计图绘制技巧

2.1 函数图绘制

# 椭圆图
plt.plot(x,y,c='r')
plt.axvline(x=0)
plt.axhline(y=0)
plt.text(0.2,1,r'$\frac{x^2}{a^2}+\frac{y^2}{b^2}=1$',fontsize=25)

在这里插入图片描述

2.2 气泡图与三维可视化

# 二维气泡图,s=8y
x=np.linspace(-4,4,20) 
print(x)
y=x**2                    
plt.scatter(x,y,s=100*y)  

在这里插入图片描述

# 三维散点图
# 创建数据
x = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, x)                # 从坐标向量x,y中返回坐标矩阵
Z = np.sin(np.sqrt(X**2 + Y**2))        # Z=sin(sqrt(X^2+Y^2))# 创建图形
fig = plt.figure(figsize=(10, 8))
ax = fig.add_axes(Axes3D(fig, elev=30, azim=20))  # 使用add_axes方法创建3D坐标轴
ax.scatter(X, Y, Z, c=Z, cmap='viridis', s=30, alpha=0.6)  # 添加颜色映射和透明度# 设置标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()

在这里插入图片描述


三、Seaborn高效统计绘图

3.1 箱线图与小提琴图对比

绘图所用数据如下:

# 读取绘图用数据
import pandas as pd
BSdata=pd.read_excel('DaPy_data.xlsx','BSdata')
BSdata.head()

在这里插入图片描述

# 箱线图(boxplot)
sns.boxplot(x=BSdata['身高'])

在这里插入图片描述

# 小提琴图(violinplot)
sns.violinplot(x='开设', y='支出', hue='性别', data=BSdata)

在这里插入图片描述

3.2 分布图矩阵

# 概率分布图
BSdata['身高'].hist() 

在这里插入图片描述


四、ggplot绘图系统实践

在这里插入图片描述

4.1 基础使用

包的安装:

!pip show ggplot
!pip show plotnine

包的加载与设置:

from plotnine import *    #加载和调用ggplot所有方法
theme_set(theme_bw(base_family='SimHei')) 
#设置图形主题背景为白色bw、中文字体为黑体SimHei

4.2 ggplot中图层

GP=ggplot(BSdata,aes(x='身高',y='体重')) #绘制直角坐标系
GP 

在这里插入图片描述

GP + geom_point()  #增加点图

在这里插入图片描述

GP + geom_line()   #增加线图

在这里插入图片描述

GP + geom_point() + geom_line()  #增加点和线图

在这里插入图片描述

4.3 统计图绘制

#在plotnine中可使用facet_wrap参数可以按类型绘制分面图。
ggplot(BSdata,aes('身高','体重')) + geom_point() + facet_wrap('性别',nrow=2) 

在这里插入图片描述

# 折线图
ggplot(BSdata,aes(x='支出',y='身高',color='性别',shape='性别')) + geom_line() + geom_point()

在这里插入图片描述


五、pyecharts动态绘图精解

pyecharts是基于Echarts图表的一个类库,而Echarts是百度开源的商业级数据图表,它是一个纯JavaScript的图表库,可以为用户提供直观生动、可交互、可高度个性化定制的数据可视化图表,赋予了用户对数据进行挖掘整合的能力。

https://echarts.apache.org/zh/index.html

pyecharts主要基于web浏览器进行显示,绘制的图形比较多,包括折线图、柱状图、饼图、漏斗图、地图、极坐标图等,代码量很少,而且很灵活,绘制出来的图形很美观。

使用pyecharts时,需要安装相应的库,安装命令为:

pip install pyecharts
A Python Echarts Plotting Library——https://pyecharts.org/#/

5.1 pyecharts安装全攻略

环境准备
# 创建虚拟环境(推荐)
python -m venv vis_env
source vis_env/bin/activate  # Linux/Mac
vis_env\Scripts\activate     # Windows# 核心安装
pip install pyecharts -U# 扩展组件
pip install echarts-countries-pypkg      # 437个国家地图
pip install echarts-china-provinces-pypkg # 34个省级行政区
pip install echarts-china-cities-pypkg    # 367个市级城市
版本验证
import pyecharts
print(pyecharts.__version__)  # 输出应为1.x.x或2.x.x

5.2 基础图表快速上手

动态柱状图
from pyecharts.charts import Barbar = Bar()
bar.add_xaxis(["苹果", "华为", "小米", "OPPO"])
bar.add_yaxis("手机销量", [25, 30, 18, 22])
bar.set_global_opts(title_opts={"text": "2023 Q2手机销量统计"})
bar.render('phone_sales.html')

在这里插入图片描述

3D散点图
from pyecharts.charts import Scatter3D
import randomdata = [[random.randint(0,100) for _ in range(3)] for _ in range(100)]
scatter = Scatter3D().add("", data)
scatter.render("3d_scatter.html")

在这里插入图片描述

5.3 高级配置技巧

地图可视化
from pyecharts.charts import Mapdata = [("广东", 125), ("江苏", 98), ("山东", 87)]
map_chart = Map().add("GDP分布", data, "china")
map_chart.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=150))
map_chart.render('china_gdp.html')

在这里插入图片描述


六、常见问题解决方案

6.1 地图显示异常处理

现象:地图空白或只显示轮廓

# 正确加载省级地图
from pyecharts.datasets import register_url
register_url("https://echarts-maps.github.io/echarts-china-provinces-js/")# 强制刷新缓存
import pyecharts.globals as g
g._WarningControl.ShowWarning = False

6.2 Jupyter内联显示配置

from pyecharts.globals import CurrentConfig
CurrentConfig.NOTEBOOK_SHOW = True# 显示图表
bar.load_javascript()
bar.render_notebook()

七、可视化最佳实践建议

  1. 数据预处理:清洗缺失值,规范数据格式

  2. 颜色选择:使用ColorBrewer科学配色方案

  3. 交互设计:合理控制动画效果复杂度

  4. 移动适配:响应式布局配置

   bar.set_global_opts(datazoom_opts=[opts.DataZoomOpts(type_="inside")],toolbox_opts=opts.ToolboxOpts(is_show=True))

八、学习资源推荐

  1. ECharts官方示例库
  2. pyecharts-gallery项目
  3. 《Python数据可视化之美》专业书籍
  4. DataViz项目实战案例集

http://www.xdnf.cn/news/7840.html

相关文章:

  • 如何应对kaggle离线安装环境?
  • 工具环境与系统部署
  • SQL 多表关联与分组聚合:解密答题正确率分析
  • 项目交付标准不明确,如何确保验收顺利
  • HarmonyOS NEXT应用开发实战:玩鸿蒙App客户端开发
  • 网站制作公司哪家强?(2025最新版)
  • Go语言中new与make的深度解析
  • EasyRTC嵌入式音视频通信SDK一对一音视频通信,打造远程办公/医疗/教育等场景解决方案
  • 关于sql 查询性能优化的小经验
  • 【Vue3】一文学会动态路由和编程式路由的使用
  • 前端excel表格解析为json,并模仿excel显示
  • Flink 核心概念解析:流数据、并行处理与状态
  • Flink-Yarn运行模式
  • Java异常处理全解析:从基础到自定义
  • COMPUTEX 2025 | 广和通率先发布基于MediaTek T930 平台的5G模组FG390
  • 集星云推“碰一碰源码”开发思路解析
  • 【神经网络与深度学习】流模型的通俗易懂的原理
  • 鸿蒙开发——8.wrapBuilder 封装全局@Builder的高阶用法
  • 离线服务器Python环境配置指南
  • LangChain入门
  • 专业 YouTube SEO 方案:打造高排名视频的关键步骤
  • 【容易坑】mybatis中使用if标签比较两个字符串是否相等
  • SpringBoot微服务编写Dockerfile流程及问题汇总
  • Burp Suite返回中文乱码?
  • 使用 Spring AI Alibaba 集成阿里云百炼大模型应用
  • 计算机网络学习(一)—— OSI vs TCP/IP网络模型
  • 在局域网(LAN)中查看设备的 IP 地址
  • 网络:如何通过已知的电脑的机器名(计算机名),获取ip地址
  • C++线程池实现
  • jenkins数据备份