数据直观分析与可视化

数据直观分析与可视化


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

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

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

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


二、特殊统计图绘制技巧

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 Bar

bar = 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 random

data = [[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 Map

data = [("广东", 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项目实战案例集

相关推荐
用户59625857360610 小时前
【征文计划】当AI Glasses成为你的“植物百科全书”
数据可视化
HsuHeinrich3 天前
利用面积图探索历史温度的变化趋势
python·数据可视化
CodeCraft Studio6 天前
空间天气监测,TeeChart助力实现太阳活动数据的可视化分析
信息可视化·数据挖掘·数据分析·数据可视化·teechart·科研图表·图表库
FIT2CLOUD飞致云6 天前
安全漏洞修复,API数据源支持添加时间戳参数,DataEase开源BI工具v2.10.17 LTS版本发布
开源·数据可视化·dataease·bi·数据大屏
图扑可视化7 天前
图扑 HT 智慧汽车展示平台全自研技术方案
汽车·数据可视化·组态监控·汽车展示
Highcharts.js8 天前
Highcharts开发解析:从数据可视化到用户体验的全面指南
信息可视化·前端框架·数据可视化·ux·highcharts·交互图表
数字冰雹9 天前
为城市治理装上“数字引擎”
中间件·数据可视化
Highcharts.js9 天前
学习 Highcharts 可视化开发的有效途径
学习·数据可视化·highcharts·图表开发·可视化开发
易知微EasyV数据可视化9 天前
数字孪生文旅:以某地智慧乡村数字孪生驾驶舱建设为例
经验分享·数字孪生·数据可视化·智慧文旅
做cv的小昊11 天前
科研论文PPT绘图技巧:绘制任意曲线三角形(胖三角形)并制作效果对比图
经验分享·笔记·学习·微软·ai绘画·数据可视化