「数据分析」02数据源的导入与matplotlib模块的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「数据分析」02数据源的导入与matplotlib模块的使用相关的知识,希望对你有一定的参考价值。

参考技术A 1.数据导入

在python数据分析中,可以使用pandas模块导入数据。

使用前提:

(1)csv数据导入

ps:csv数据排序by="列名"

【注】 ①engine的参数有三个: 'c','python','python_fwf';

②导入报错解决方法:

> 加上参数 engine='python' ;

> 加上参数 encoding='utf-8' 或 encoding='gb2312' ;

> 先打开再读取:

(2)excel数据导入

(3)mysql数据读取

(4)导入html数据(直接从html网页中加载对应的table表格的数据,需要安装html5lib模块和beautifulsoup4模块)

(5)从网站读取表格

(6)导入文本数据

2.matplotlib模块的使用

使用前提:

(1)折线图/散点图: plot(x轴数据,y轴数据,展现形式<图形、颜色、线条形式>)

①折线图

②散点图

③表头、x轴、y轴

④x轴范围、y轴范围

⑤多组数据

⑥颜色

ps:

c-cyan-青色

r-red-红色

m-magente-品红

g-green-绿色

b-blue-蓝色

y-yelow-黄色

k-black-黑色

w-white-白色

⑦线条形式

ps:

-直线

--虚线

-. -.形式

:细小虚线

⑧点的形式

ps:

s-方形

h-六角形

H-六角形

*-*形

+-+形

x-x形

d-菱形

D-菱形

p-五角形

(2)直方图hist(某个数据出现的频数)

ps:

【注】 ①style加上格式, histtype=‘stepfilled’ 取消格式;

②随机数生成,整数型 random_integers(min,max,number)

③随机生成正态分布的随机数 random.normal(mean,方差,number)

(3)绘制子图 subplot(行,列,当前区域)

python数据分析-matplotlib折线图知识总结01

python绘图库matplotlib的知识总结

一.matplotlib是什么

matplotlib是一个python内置的绘图库,它主要是把我们处理的数据,通过可视化的形式展示出来
主要用于做可视化的图表,是模仿于matlab构建的

二.matplotlib的安装与导入

首先matplotlib的安装可以直接在pycharm编译器终端输入(pip install matplotlib)
但是我们按照上面的方式安装可能会导致安装的速度很慢,在此我们可以使用镜像源
进行模块的安装
镜像源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
先在终端配置这个pip设置,这算一个永久的镜像源,配置之后,你输入上面
(pip install matpltlib)下载模块就不会因为限速而导致下载慢的问题

导入matplotlib

from matploltlib import pyplot as plt

三.matplotlib的常用函数

plt.title()添加标题
plt.text()在任意位置添加文本
plt.annotate()在任意位置增加带箭头的注释文本

plt.annotate()有哪些参数
1.要显示的文本
2.xy传入(2,3)箭头所指向的坐标点位置
3.xytext传入文本显示的位置也是坐标
4.arrowprops传入字典类型的数据,数据内容是给箭头设置的一些属性

from matplotlib import pyplot as  plt
import matplotlib

font = 'Microsoft Yahei'
# 显示大学生10天每天的消费金额
x = range(1, 11)  #
y = [23, 25, 25, 23, 26, 28, 30, 80, 21, 19]

plt.plot(x, y, label='科师大')
plt.xlabel('天数(单位: 天)', fontproperties=font)
plt.ylabel('消费额(单位: 元)', fontproperties=font)
plt.title('大学生10天的消费额', fontproperties=font)

plt.annotate(
    '超额消费',
    xy=(8, 80),
    xytext=(9, 80),
    arrowprops=dict(facecolor='red', shrink=0.1, width=2),
    # facecolor箭头颜色 shrink 箭头起始和结束位置两侧的空白大小 width箭头宽度
    fontproperties=font
)

plt.show()

四.matplotlib绘制折线图的使用方法

1.设置图形大小

两个参数,一个图片大小,第二个是图片的分辨率

plt.figure(figsize=(20, 8), dpi=80)

2. 利用数据绘图


通过查看plot的内部实现可以看到plot里面参数可以有(横坐标数据)和纵坐标数据它们是列表的类型,元素必须一样多,一一对应,然后可以设置线条的颜色,粗细,以及线条样式等等

plt.figure(figsize=(20, 8), dpi=80)
x = [0, 2, 4, 6, 8]
y = [1, 5, 3, 9, 7]
plt.plot(x, y)

3.调整x,y轴的刻度,旋转角度,显示描述信息,绘制网格,添加图例

调整刻度是因为我们的刻度太密,导致我们的刻度下方的刻度值显示不完整,使得我们的观赏性不好,那么这个时候就可以使用我们的调整刻度的功能,使得我们绘制的图更清晰明了

旋转角度也是为了美观,旋转角度都是使用rotation这个参数进行设置.描述信息就是指定x,y轴所代表的是什么,使得图例更完整 如果直接添加的话,信息描述是不能显示的,这个时候我们就需要导入matplotlib,然后通过matplotlib中的rcparams进行设置,当然还可以直接选择一种微软自带的字体

图例:就是当你要在一个绘制区域绘制两个及两个以上的图的时候,需要通过图列分辨哪根线代表的是什么,然而这里也需要中文显示,但是这里的中文显示和前面描述信息的中文显示传参略有不同,它只需要使用prop进行传参就好了,当然我们还可以设置图例的位置
图例的位置传一个loc的参数

from matplotlib import pyplot as  plt
import random
import matplotlib

# 选择一种字体
my_font = 'Microsoft Yahei'

# 设置图片大小
plt.figure(figsize=(20, 8), dpi=80)
x = [range(120)]
y = [random.randint(20, 35) for i in range(120)]

plt.plot(x, y,label='两小时的体温变化')

# 调整x的尺度
_xtick_labels = [f"10点i分" for i in range(60)]
_xtick_labels += [f"11点i分" for i in range(60)]

plt.xticks(x[::3], _xtick_labels[::3],my_font)

#绘制网格
plt.grid(alpha = 0.1)#参数是透明度的设置0-1(1代表完全显示)

#添加图例
plt.legend(prop=my_font)


# 添加描述信息
plt.xlabel('时间', fontpropertiese=my_font)
plt.ylabel('温度 单位(℃)', fontpropertiese=my_font)
plt.title('10点到12点每分钟的气温变化情况', fontpropertiese=my_font)

4.图形的样式

color 设置线条的颜色
linestyle 线条的样式
alpha设置网格的透明度
linewidth 线条得粗细

5.绘制多条折线

from matplotlib import pyplot as plt
import matplotlib

x1 = [51, 73, 5, 34, 69, 11]
y1 = [52, 23, 16, 32, 76, 32]
x2 = [12, 45, 67, 78, 89, 45]
y2 = [34, 6, 21, 67, 34, 89]
plt.plot(x1, y1,label="三校一班")
plt.plot(x2, y2,label="三校二班")
plt.xlabel('身高',fontproperties='SimHei')
plt.ylabel('体重',fontproperties='SimHei')
plt.title('中学生体检',fontproperties='SimHei')
plt.legend(prop='SimHei')
plt.show()


当然此处还可以通过plot()传参facecolor=red 进行折线图背景的修改

6.显示绘制的图

plt.show()

四.总结:

利用matplotlib绘制折线图,主要用折线图的形式反应自变量和因变量之间的关系,进而反应事物的变化情况

以上是关于「数据分析」02数据源的导入与matplotlib模块的使用的主要内容,如果未能解决你的问题,请参考以下文章

数据分析与展示——Matplotlib库入门

如何从 matplotlib 中的数据框列生成 x 轴值?

python数据分析-matplotlib折线图知识总结01

csv读入数据,用julia/matplotlib/pyplot 画矢量图导入word中

使用带有两个列表的matplotlib绘制图形

数据可视化实例(十七):包点图 (matplotlib,pandas)