数据可视化总结

在数据可视化的学习与实践过程中,编程技巧的掌握对于高效、精准地创建可视化作品起着至关重要的作用。

(一)、数据可视化工具整理:

(一)、Python数据挖掘相关扩展库
1.Numpy 提供数组支持,以及相应的高效的处理函数
2.Scipy 提供矩阵支持,以及矩阵相关的数值计算模块
3.Matplotlib 数据可视化工具,作图库
4.Pandas 强大、灵活的数据分析和探索工具
5.StatsModels 设计建模,统计模型估计,描述统计等
6.Scikit-Learn 支持回归、分类、聚类等的强大的机器学习库

一、Numpy
Python并没有提供数组功能,虽然列表可以完成基本的数组功能,但他并不是真正的数组,而且数据量较大时,使用列表的速度就会慢。
Numpy提供了真正的数组功能,以及快速处理的函数。Numpy内置函数处理数据的速度是C语言级别的,因此在编写程序的时候,应当尽量使用内置函数,避免出现效率瓶颈的现象。

二、Scipy
Numpy提供了多维数组功能,但它只是一般的数组,并不是矩阵。当两个数组相乘时,只是对应元素相乘,而不是矩阵乘法。
Scipy提供了真正的矩阵,以及大量基于矩阵运算的对象与函数!Scipy功能库有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学工程中常用的计算,这都是挖掘与建模必备的!

三、Matplotlib
数据可视化,最著名的绘图库,主要用于二维绘图,可以简单的三维画图。
中文标签可能无法显示,因为Matplotlib默认英文字体,另外保存作图图像时,负号可能显示不正常。“画廊”,Matplotlib做出的精美的图可以用来做范例。

四、Pandas
Pandas是Python下最强大的数据分析和探索工具。有高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单。
Pandas功能强大,支持类似于SQL的增删改查,并且带有丰富的数据处理函数;支持时间序列分析功能;支持灵活处理缺失数据等。

Pandas的使用,待加强!
Pandas基本的数据结构是Series和DataFrame。Series就是序列,类似一维数组;DataFrame则是相当于一张二维的表格,类似二维数组,它的每一列都是一个Series。每个Series带有对应的Index,标记不同的元素,类似SQL的主键。
DataFrame相当于多个带有同样Index的Series的组合(本质是Series的容器)
Series以不同的表头来标识。

五、StatsModels
Pandas着眼于数据的读取处理和探索,而StatsModels则更加注重数据的统计建模分析,它使得Python类似R。与Pandas进行数据交互,结合很强大。

六、Scikit-Learn
机器学习工具包,提供了完善的机器学习工具箱,包括数据预处理、分类、回归、聚类、预测和模型分析等。并不包含强大的模型–人工神经网络。

(二)、Python主要数据探索函数

Pandas提供了大量的与数据探索相关的函数,这些数据探索函数可大致分为统计特征函数与统计做图函数;而做图函数依赖于Matplotlib!

一、统计特征函数

 

(三)、数据可视化基本图形 

 1.折线图

import numpy as np
import matplotlib.pyplot as plt
 
plt.rcParams['font.sans-serif'] = ["SimHei"]
x = [x for x in range(0, 11)]
y1 = [2,5,3,6,4,6,9,22,13,14,14] #疫情前
y2 = [4,4,6,5,6,8,9,20,11,19,9]
y3 = [4,5,3,5,3,7,10,18,11,21,13]
labels = ['非常不需要', '1', '2', '3', '4', '5', '6', '7', '8', '9', '非常需要']
ax1 = plt.subplot(111)
ax1.plot(labels, y1, 'm--o',  label='不同餐饮企业之间合作',color = '#00008B')
ax1.plot(x, y2, 'g--o',  label='餐饮与其他非餐饮品牌联名',color = '#87CEFA')
ax1.plot(x, y3, 'b--o',  label='餐饮与当地文化结合',color = '#98FB98')
ax1.set_title("用户对餐饮企业合作及文化融合的看法", fontsize=11)
 
ax1.set_ylim(0, 25)
ax1.set_ylabel('百分比(%)')
# ax1.set_xlabel('')
 
for xy1 in zip(x, y1):  # text()会将文本放置在轴域的任意位置。 文本的一个常见用例是标注绘图的某些特征,而annotate()方法提供辅助函数,使标注变得容易
    ax1.annotate("%s" % xy1[1], xy=xy1, xytext=(-5, 5), textcoords='offset points')
# "%s" % xy1[1]输出字符串!
for xy2 in zip(x, y2):
    ax1.annotate("%s" % xy2[1], xy=xy2, xytext=(-5, 5), textcoords='offset points')
for xy3 in zip(x, y3):
    ax1.annotate("%s" % xy3[1], xy=xy3, xytext=(-5, 5), textcoords='offset points')
 
ax1.legend()
# ax2 = plt.subplot(223)
# ax2.pie(y1, radius=1, wedgeprops={'width': 0.5}, labels=labels, autopct='%3.1f%%', pctdistance=0.75)
# ax2.set_title('产品A的销售额 ')
# ax3 = plt.subplot(224)
# ax3.pie(y2, radius=1, wedgeprops={'width': 0.5}, labels=labels, autopct='%3.1f%%', pctdistance=0.75)
# ax3.set_title('产品B的销售额 ')
# plt.tight_layout()
plt.show()

 2.柱形图

x = np.arange(5)
y1 = np.array([10,8,7,11,13])
plt.title("20200806903013")
bar_width = 0.3
plt.bar(x,y1,tick_label=['a','b','c','d','e'],width=bar_width)
plt.show()

 

 3.条形图

y = np.arange(5)
x1 = np.array([10,8,7,11,13])
plt.title("20230322061")
bar_height = 0.3
plt.barh(y,x1,tick_label=['a','b','c','d','e'],height=bar_height)
plt.show()
 

 

颜色对应编号代码:

 

以上便是数据可视化的一部分学习成果展示,在未来我会在数据可视化中进行更多的学习,认识各种各样的可视化类型以及可视化方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值