Python实现简单的数据可视化

现在python这门解释型语言被越来越多的人们喜欢,强大的库支持,使得编程过程变得简单。

我是一个传统的C语言支持者,往后也打算慢慢的了解Python的强大。

今天我就学习一下使用python实现数据可视化。

参考:https://mp.weixin.qq.com/s/Nb2ci6d5MhoRoepu6G3YdQ

1 安装依赖库
——

? NumPy 用于简化数组和矩阵的操作

? SciPy 用于数据科学

? Matplotlib 用于绘图

在windows下我使用Pycharm作为IDE,安装库也十分方便,直接在包管理工具终添加即可,如果超时无法下载,可以参照我之前的博客换成国内源。

2 导入依赖包
——

import numpy as np               #使用as重命名
from scipy import stats          #可以只导入包的一部分
import matplotlib.pyplot as plt  #import matplotlib.pyplot == from matplotlib import pyplot

3 定义变量
——

python中的变量在第一次赋值时被声明,变量类型由分配给变量的值推断。习惯上,不使用大写字母命名。

input_file_name = "anscombe.csv"delimiter = "\t"                 #数据之间的分隔符skip_header = 3                  #文件开头要跳过的行column_x = 0column_y = 1

4 读取数据
——

毫无疑问,我们要事先得到需要可视化的数据:

(这里我们只对四个部分中部分一的进行处理)

使用 NumPy 中函数 genfromtxt() 读取 CSV 文件非常容易,该函数生成 NumPy 数组:

data = np.genfromtxt(input_file_name, delimiter = delimiter, skip_header = skip_header)

在 Python 中,一个函数可以有数量可变的参数,你可以通过指定所需的参数来传递一个参数的子集。数组是非常强大的矩阵状对象,可以很容易地分割成更小的数组:

这里的:就指代全部选择

x = data[:, column_x]           #x取所有行的column_x列
y = data[:, column_y]           #y取所有行的column_y列

5 拟合数据
——

SciPy 提供了方便的数据拟合功能,例如 linregress() 函数提供了一些与拟合相关的重要值,如斜率、截距和两个数据集的相关系数:

slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
print("Slope: {:f}".format(slope))
print("Intercept: {:f}".format(intercept))
print("Correlation coefficient: {:f}".format(r_value))

因为 linregress() 提供了几条信息,所以结果可以同时保存到几个变量中。

6 绘图
——

Matplotlib 库仅仅绘制数据点,因此,你应该定义要绘制的点的坐标。已经定义了 x 和 y 数组,所以你可以直接绘制它们,但是你还需要更多的点来画直线。

linspace() 函数可以方便地在两个值之间生成一组等距值。再利用强大的 NumPy 数组可以轻松计算纵坐标,该数组可以像普通数值变量一样在公式中使用

fit_x = np.linspace(x.min() - 1, x.max() + 1, 100)  #随机生成100个线性数据fit_y = slope * fit_x + intercept                   

要绘图,首先,定义一个包含所有图形的图形对象

fig_width = 7 #inch
fig_height = fig_width / 16 * 9 #inch
fig_dpi = 100
fig = plt.figure(figsize = (fig_width, fig_height), dpi = fig_dpi)

参数也非常好理解,最后调用figure()函数生成一个图形。

一个图形可以画几个图;在 Matplotlib 中,这些图被称为。本示例定义一个单轴对象来绘制数据点:

ax = fig.add_subplot(111)
ax.plot(fit_x, fit_y, label = "Fit", linestyle = ‘-‘)
ax.plot(x, y, label = "Data", marker = ‘.‘, linestyle = ‘‘)
ax.legend()
ax.set_xlim(min(x) - 1, max(x) + 1)
ax.set_ylim(min(y) - 1, max(y) + 1)
ax.set_xlabel(‘x‘)
ax.set_ylabel(‘y‘)

如果要保存图片,有:

fig.savefig(‘fit_python.png‘)

如果要显示(而不是保存)该绘图,请调用:

plt.show()

7 结果
——

终端输出:

生成图像:

怎么样,感觉还不错吧,Python真是个好用的工具,以后会更新更多的实用的案例~

原文地址:https://www.cnblogs.com/Irvingcode/p/12383000.html

时间: 2024-11-08 21:43:00

Python实现简单的数据可视化的相关文章

Python进阶(四十)-数据可视化の使用matplotlib进行绘图

Python进阶(四十)-数据可视化の使用matplotlib进行绘图 前言 ??matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图.实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间.用户在熟悉了核心对象之后,可以轻易的定制图像.matplotlib的对象体系也是计算机图形学的一个优秀范例.即使你不是Python程序员,你也可以从文中

在Python中实现交互式数据可视化

最近,我一直在看美国德克萨斯州奥斯汀举办的SciPy 2015会议上的一段视频——“用Blaze和Bokeh创建Python数据应用程序”,并且情不自禁地反复思考这两个库赋予世界各地使用Python的数据科学家们的强大能力.在本文中,我将带你体验使用Bokeh实现数据可视化的各种可能途径,以及Bokeh为什么是每位数据科学家的必备“神器”. ◆ ◆ ◆ 什么是Bokeh? Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库.这是Bokeh与其它可视化库最核心的区别.正如下

用 python实现简单EXCEL数据统计

任务: 用python时间简单的统计任务-统计男性和女性分别有多少人. 用到的物料:xlrd 它的作用-读取excel表数据 代码: import xlrd workbook = xlrd.open_workbook('demo.xlsx') #打开excel数据表 SheetList = workbook.sheet_names()#读取电子表到列表 SheetName = SheetList[0]#读取第一个电子表的名称 Sheet1 = workbook.sheet_by_index(0)

excel表格的应用之简单的数据可视化

上面的为我们需要的手长与身高的数据 上面的是我们的数据可视化之后的点状图 我们需要先选中我们需要的数据表 然后点击我们插入中的推荐图表的选项 点开后会弹出这个界面 然后我们只需要选择char进行插入就好了

使用Python自己实现简单的数据可视化

只使用Python的random库,将已有数据生成HTML格式的标签云.思路就是根据同一单词出现的次数多少,生成不同大小不同颜色单词的数据的视图. 比如以下格式的多条数据: 1 Gaming 1 Skateboarding 2 Girl Friend 3 Surfing the Internet 3 TED talks 4 Reading 4 Writing 5 Facebook 5 Gaming 6 Gaming 6 Martial Arts 7 Partying 7 Playing Spor

对比Excel学Python(二)数据可视化

就是利用Python生成各种图表,也是本书的核心. 1.条形图 #导入要用的matplotlib库import matplotlib.pyplot as plt import numpy as np#解决乱码问题 plt.rcParams["font.sans-serif"]='SimHei'#(在Y轴上分为1等份,在X轴上分为1等份,画布位于1象限)plt.subplot(1,1,1) #传入基础数据 x = np.array(["东区","南区&quo

38个常用Python库:数值计算、可视化、机器学习等8大领域都有了

一.数值计算 数值计算是数据挖掘.机器学习的基础.Python提供多种强大的扩展库用于数值计算,常用的数值计算库如下所示. 1. NumPy 支持多维数组与矩阵运算,也针对数组运算提供大量的数学函数库.通常与SciPy和Matplotlib一起使用,支持比Python更多种类的数值类型,其中定义的最重要的对象是称为ndarray的n维数组类型,用于描述相同类型的元素集合,可以使用基于0的索引访问集合中元素. 2. SciPy 在NumPy库的基础上增加了众多的数学.科学及工程计算中常用的库函数,

4种更快更简单实现Python数据可视化的方法

数据可视化是数据分析或机器学习项目中十分重要的一环.通常,你需要在项目初期进行探索性的数据分析(EDA),从而对数据有一定的了解,而且创建可视化确实可以使分析的任务更清晰.更容易理解,特别是对于大规模的高维数据集.在项目接近尾声时,以一种清晰.简洁而引人注目的方式展示最终结果也是非常重要的,让你的受众(通常是非技术人员的客户)能够理解. 读者可能阅读过我之前的文章「5 Quick and Easy Data Visualizations in Python with Code」,我通过那篇文章向

数据可视化分析除了需要编码的Python,还有更简单的方式吗?

大数据.数据分析的兴起和火爆,也带动了数据可视化的广泛应用.说起数据分析和可视化的关系,就好比你为一堆散乱的拼图写了一份说明,告诉他这个数据是什么样子,代表什么.可以说,数据可视化虽然不是必不可少的,但却是可以加快效率,为报告锦上添花的.今天,说起数据可视化,我们就不得不谈一下数据可视化工具了.主要说到的这个工具也是最近在数据分析圈比较受追捧的一个软件--Python. 数据可视化分析除了需要编码的Python,还有更简单的方式吗?Python虽好,但是需要编程才能实现数据的可视化,编程对于用户