二十七、数据可视化

一、数据可视化是什么

借助图形来清晰有效表达信息的方式成为可视化,可视化可以帮助我们更好地传递信息。

二、数据可视化的基本流程

1、整理数据

数据可视化的基础还是数据,要将数据图表化,首先要整理数据,明确要把哪些数据图表化。

2、明确目的

知道了要把哪些数据数据图表化以后,就需要明确目的,可视化是用来表达信息的一种方式,既然是用来表达信息的,就应该明确要表达什么,要传递给看图人哪些信息。

3、寻找合适的表现形式

明确了要表达什么信息以后,就可以选择合适的表现形式了,不同的目的使用的表现形式是不一样的。

三、图表的基本组成元素

1、画布

画布就是字面意思,你首先需要找到一块"布",即绘图界面,然后再这块"布"上绘制图表。

2、坐标系

画布是图表的最大概念,在一块画布上可以建立多个坐标系,坐标系又可以分为直角坐标系、球坐标系和极坐标系三种,其中直角坐标系最常用。直角坐标系最常用。

3、坐标轴

坐标轴是在坐标系中的概念,主要有X轴和Y轴(一般简单的可视化均为二维),一组X/Y值用来唯一确定坐标系上的一个点。

X轴也称横轴,Y轴也称纵轴。通过X轴和Y轴可以确定一个唯一的点。

4、坐标轴标题

坐标轴标题就是X轴和Y轴的名称。

5、图表标题

图表标题是用来说明整个图表核心主题的。

6、数据标签

数据标签用于展示图表中的数值。

7、数据表

数据表在图表下方,它以表格的形式将图表中坐标轴的值展示出来。

8、网格线

网格线是坐标轴的延伸,通过网格线可以更加清晰地看到每一点大概在什么位置,值大概是多少。

9、图例

图例一般位于图表的下方或右方,用来说明不同的符号或颜色所代表的不同内容与指标,有助于认清图。

10、误差线

误差线主要用来显示坐标轴上每个点的不确定程度,一般用标准差表示,即一个点的误差为该点的实际值加减标准差。

四、Excel与Python可视化

无论是Excel还是Python,它们数据可视化的基本流程及图标的基本组成元素都是一样的。在Excel中进行数据可视化比较简单,直接选中要图表化的数据,然后单击插入选项卡,选择合适的图表类型就可以对图表格式进行设置。

五、建立画布和坐标系

1、建立画布

再开始正式的画布建立之前,要先把需要用的库加载进来,在Python中可视化用的库是matplotlib库,还要多加三行代码,这样图表才能正常显示,具体代码如下:

python 复制代码
#导入matplotlib库中的pyplot并起名为plt

import matplotlib.pyplot as plt

#让图表直接在jupyter notebook 中展示出来
%matplotlib inline

#解决中文乱码问题
plt.rcParams["font.sans-serif"]='SimHei'

#解决负号无法正常现实的问题
plt.rcParams['axes.unicode_minus']=false

在默认设置下matplotlib做出来的图表不是很清晰,这个时候可以将图表设置成矢量图格式显示,这样看起来就会很清晰了,因此要在上面的代码中加一行代码:

python 复制代码
config inlinebackend.figure_format  =  'svg'

导入需要的库以后就可以正式开始建立画布了。

python 复制代码
fig = plt.figure()
<matplotlib.figure.Figure at 0xld5a0384208>

plt.figure里面有一个参数figsize,它用width和height来控制整块画布的宽和高。

python 复制代码
fig = plt.figure(8,6)
<matplotlib.figure.Figure at 0x256823bbcc0>

需要注意的一点就是,建立画布以后画布并不会直接显示出来,只会输出一串画布相关信息的代码。

画布建立好以后就可以在画布上绘制坐标系了。在Excel中直接选择插入图表就相当于建立一个坐标系,在Python中会有多种建立坐标系的方式。

2、用add_subplot函数建立坐标系

利用add_subplot函数建立坐标系时需要现有画布,再在画布上绘制坐标系。

相关推荐
敲代码不忘补水几秒前
PyTorch 神经网络回归(Regression)任务:关系拟合与优化过程
人工智能·pytorch·python·科技·深度学习·神经网络
计算机软件程序设计16 分钟前
Python数据分析可视化之词云图
开发语言·python·数据分析
小兜全糖(xdqt)17 分钟前
python elasticsearch_dsl PIT Point in time API 查询
python
Clrove.1128 分钟前
JavaSE——绘图入门
开发语言·python
zaim136 分钟前
计算机的错误计算(一百八十六)
人工智能·python·ai·大模型·llm·误差·decimal
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用BIM/I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
潜意识起点1 小时前
Java游戏开发基础:从零开始制作一个简单的2D游戏
java·python·游戏
光谷中心城打工人1 小时前
使用pyinstaller打包pyqt的程序,运行后提示ModuleNotFoundError: No module named ‘Ui_main‘
开发语言·python·pyqt
运维小文2 小时前
ansible剧本快速上手
linux·运维·python·自动化·ansible·幂等性·剧本
月光晒了很凉快2 小时前
Django REST framework(DRF)在处理不同请求方法时的完整流程
后端·python·django