数据分析可视化:散点图矩阵与雷达图的生成

目录

一、经营数据绘制散点图矩阵

java 复制代码
import seaborn as sns
import pandas as pd
rc = {'font.sans-serif':'Arial Unicode MS',
     'axes.unicode_minus':False}
sns.set(context='notebook',style='ticks',rc=rc)
iris = pd.read_excel("D:/edge/经营数据.xls")
sns.pairplot(iris,hue='type',plot_kws={'alpha':0.6,'s':80,'edgecolor':'k'},height=3)

下面是对代码的解释和一些可能需要注意的地方:

1.代码解释

python 复制代码
import seaborn as sns
import pandas as pd

# 设置绘图的字体和符号显示
rc = {'font.sans-serif': 'Arial Unicode MS', 'axes.unicode_minus': False}
sns.set(context='notebook', style='ticks', rc=rc)

# 读取Excel文件中的数据
iris = pd.read_excel("D:/edge/经营数据.xls")

# 使用pairplot绘制散点图矩阵
sns.pairplot(iris, hue='type', plot_kws={'alpha': 0.6, 's': 80, 'edgecolor': 'k'}, height=3)

# 显示图形
import matplotlib.pyplot as plt
plt.show()

2.代码说明

  1. 导入必要的库

    • seaborn 用于绘制统计图形。
    • pandas 用于数据处理和读取。
  2. 设置绘图样式

    • rc 字典用于设置绘图的字体和符号显示。'font.sans-serif': 'Arial Unicode MS' 设置了默认的无衬线字体,适用于中文显示。'axes.unicode_minus': False 避免负号显示为方块。
  3. 读取数据

    • 使用 pd.read_excel 从Excel文件中读取数据。确保文件路径正确,且文件存在。
  4. 绘制散点图矩阵

    • sns.pairplot 用于绘制散点图矩阵。
    • hue='type' 指定了分类变量,根据不同的类型使用不同的颜色。
    • plot_kws 字典用于设置散点图的样式,包括透明度 (alpha)、点的大小 (s) 和边缘颜色 (edgecolor)。
    • height=3 设置每个子图的高度为3英寸。
  5. 显示图形

    • 使用 plt.show() 显示绘制的图形。

3.注意事项

  1. 文件路径 :确保文件路径 D:/edge/经营数据.xls 正确且文件存在。如果文件不在指定位置,代码会报错。

  2. 数据格式 :确保Excel文件中的数据格式正确,特别是分类变量 type 列是否存在且数据类型正确。

  3. 字体安装 :确保系统中已安装 Arial Unicode MS 字体,否则可能会导致中文显示问题。如果没有安装,可以考虑使用其他支持中文的字体。

  4. 环境配置 :确保你的Python环境中已安装 seabornpandasmatplotlib 库。可以使用以下命令安装这些库:

    bash 复制代码
    pip install seaborn pandas matplotlib

二、雷达图

1.代码解释

python 复制代码
import pygal

# 创建配置对象
my_config = pygal.Config()
my_config.show_legend = True

# 设置图表样式
my_config.style.title_font_size = 26
my_config.style.label_font_size = 16

# 创建雷达图对象
radar_chart = pygal.Radar(my_config, fill=False, range=(0, 50))

# 设置图表标题
radar_chart.title = '雷达图'

# 设置 X 轴标签
radar_chart.x_labels = ['东', '西', '中', '华南', '西南', '西北', '东北']

# 添加数据系列
radar_chart.add('第一', [22, 11, 33, 44, 23, 23, 34])
radar_chart.add('第二', [20, 15, 33, 42, 43, 43, 34])
radar_chart.add('第三', [22, 31, 23, 34, 53, 43, 34])

# 将图表渲染为 SVG 文件
radar_chart.render_to_file('雷达图.svg')

2.代码说明

  1. 导入 pygal

    • pygal 是一个用于生成矢量图形(SVG)的 Python 库。
  2. 创建配置对象

    • my_config = pygal.Config() 创建了一个配置对象,用于设置图表的各种属性。
    • my_config.show_legend = True 启用了图例显示。
  3. 设置图表样式

    • my_config.style.title_font_size = 26 设置了图表标题的字体大小。
    • my_config.style.label_font_size = 16 设置了标签的字体大小。
  4. 创建雷达图对象

    • radar_chart = pygal.Radar(my_config, fill=False, range=(0, 50)) 创建了一个雷达图对象,并设置了配置对象、是否填充区域以及数据范围。
  5. 设置图表标题

    • radar_chart.title = 'bushuo' 设置了图表的标题。
  6. 设置 X 轴标签

    • radar_chart.x_labels = ['东', '西', '中', '华南', '西南', '西北', '东北'] 设置了 X 轴的标签。
  7. 添加数据系列

    • radar_chart.add('第一', [22, 11, 33, 44, 23, 23, 34]) 添加了第一个数据系列。
    • radar_chart.add('第二', [20, 15, 33, 42, 43, 43, 34]) 添加了第二个数据系列。
    • radar_chart.add('第三', [22, 31, 23, 34, 53, 43, 34]) 添加了第三个数据系列。
  8. 将图表渲染为 SVG 文件

    • radar_chart.render_to_file('雷达图.svg') 将图表保存为名为 雷达图.svg 的 SVG 文件。

3. 注意事项

  1. 安装 pygal

    • 确保你的环境中已安装 pygal 库。如果没有安装,可以使用以下命令安装:

      bash 复制代码
      pip install pygal
  2. 字体显示

    • 如果你在图表中使用中文标签,确保你的系统支持中文显示。如果中文显示有问题,可以考虑使用其他支持中文的字体。
  3. 文件路径

    • 确保你有权限在当前目录下创建和写入文件。如果需要,可以指定完整的文件路径。

4. 运行代码

将上述代码保存到一个 Python 文件中,然后运行该文件,你应该能够在当前目录下看到一个名为 雷达图.svg 的文件,打开该文件即可查看生成的雷达图。

指定文件保存路径

你可以在 render_to_file 方法中指定文件的完整路径,这样可以直接将文件保存到你希望的位置。

java 复制代码
radar_chart.render_to_file('D:/charts/雷达图.svg')

总结

通过上述代码,可以生成一个散点图矩阵和一个雷达图,分别用于展示经营数据的不同方面。这些图表不仅可以帮助你更好地理解数据,还可以用于报告和展示,提高数据分析的可视化效果。确保在运行代码前检查文件路径和数据格式,以避免潜在的错误。

相关推荐
oo哦哦13 小时前
搜索矩阵系统的最短路密码:用Dijkstra算法和网络流理论,解释为什么你做了1000个关键词,流量还不如别人30个
网络·算法·矩阵
IP搭子来一个13 小时前
舆情监控系统怎么接入代理 IP?多平台多账号采集的配置全流程
网络协议·tcp/ip·数据分析
2601_9577867713 小时前
短视频矩阵系统的信号处理密码:用奈奎斯特采样定理破解“限流“黑箱
矩阵·音视频·信号处理
PaperData13 小时前
2017-2025年中国10米分辨率土地利用/覆盖栅格数据(from Esri LULC)
数据库·数据分析·学习方法
oo哦哦14 小时前
同城矩阵系统的中心地密码:用克里斯塔勒中心地理论和引力模型,解释为什么你的10个探店号加起来,还不如别人3个
服务器·人工智能·矩阵
2601_9578793314 小时前
自媒体账号矩阵的冷启动与增长飞轮:从零线索到百条转化的技术路径拆解
人工智能·矩阵·媒体
Sharewinfo_BJ15 小时前
从手工报表到实时BI:一个零售数据平台的踩坑与重构实战
大数据·人工智能·科技·数据分析·微软·powerbi
2601_9577867715 小时前
内容矩阵系统的底层逻辑:用信息论重新理解“批量生产“这件事
矩阵·内容架构
搞科研的小刘选手15 小时前
【人工智能专题研讨会】第五届人工智能与智能信息处理国际学术会议(AIIIP 2026)
人工智能·神经网络·机器学习·网络安全·数据挖掘·人机交互·信息处理
YangYang9YangYan16 小时前
2026学数据分析对产品岗位的价值分析
数据挖掘·数据分析