吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2650|回复: 8
收起左侧

[Python 转载] 【笔记】python数据分析——浅谈matplotlib可视化

  [复制链接]
qianshang666 发表于 2021-3-19 17:08
本帖最后由 qianshang666 于 2021-3-19 17:12 编辑

往期数据分析笔记

【笔记】python数据分析——numpy初识1
【笔记】python数据分析——numpy初识2
【笔记】python数据分析——变换与编程中的轴
【笔记】python数据分析——numpy随机数函数
【笔记】python数据分析——numpy数组索引及切片
【笔记】python数据分析——元素级运算及通用函数
【笔记】python数据分析——条件逻辑运算
【笔记】python数据分析——统计学运算
【笔记】python数据分析——矩阵相乘
【笔记】python数据分析——应用案例之图像负片
【笔记】python数据分析——pandas初识
【笔记】python数据分析——pandas之增删查改
【笔记】python数据分析——pandas可视化之线型图
【笔记】python数据分析——pandas可视化之柱状图
【笔记】python数据分析——pandas可视化之直方图和密度图
【笔记】python数据分析——pandas可视化之散点图
【笔记】python数据分析——pandas可视化之总结案例

为什么是浅谈呢?

因为现在市面上用的最多的可视化基本上都是用pycharts来画的,而且那个库很简单,画出来的图也都很精美,但是matplotlib的需求现在也还是存在的,我们常在论文中需要这种类型的图片,所以今天就带大家了解一下

matplotlib之线型图

构建数据

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = {
    'name':['张三','李四','王五','赵六'],
    'math':['40','80','99','78']
}

df = pd.DataFrame(data)
print(df)

运行结果:
name math
0   张三   40
1   李四   80
2   王五   99
3   赵六   78

前三行是导包,我相信看过之前笔记的兄弟们已经非常了解了
之后我先是构建了一个成绩表,然后将他们转为了DataFrame数据结构,然后将其输出,运行结果就是输出的结果

创建图表

plt.plot(df['name'],df['math'])
plt.show()

运行图:
0.线型图使用列名.png
图虽然出来了,但是有个问题呀,就是我指定了X轴是name那一列,为什么会显示成乱码呢,接下来我们换种方式看看效果

plt.plot(df.index,df['name'])
plt.show()

运行图:
1.线型图使用index.png
这个运行图就没有那种类似乱码的了,是因为我们使用的是数据的索引来当作X轴,以后我们也经常会这样用

有兄弟就要说了,你这个用的是索引,我看的不清楚,我必须要用汉字来弄,好家伙,傲娇,我喜欢,哈哈,其实乱码的原因就是因为找不到字体形成的,我们直接给他指定一种字体就可以了

plt.rcParams['font.sans-serif']=['simhei']

加上这一句代码,然后我们再使用最开始的代码,我们就发现可以正常显示汉字了
运行图:
6.matplotlib乱码问题解决.png

样式修改

plt.plot(df.indexx,df['name'],color='red',linestyle='--',marker='D')
plt.show()

color表示的是线条颜色,运行图:
3.线型图颜色改变.png
linestyle表示的是线条样式,运行图:
Figure_1.png
marker表示的是将对应坐标描点,运行图:
4.线型图一一描点.png
分享一个快捷的设置方法——将颜色、线条和点标记一起设置。

plt.plot(df.index,df['math'],'co--')
plt.show()

运行图:
5.线型图快捷方式.png

matplotlib之柱状图

绘制图像

names = [0,1,2,3]
books = [6,4,7,8]
plt.bar(names,books)
plt.show()
plt.barh(names,books)
plt.show()

运行图:
7.柱状图纵向.png
8.柱状图横向.png

网状格属性

plt.grid(color = 'red',alpha = 0.2)

运行图:
9.柱状图网格.png
是不是有兄弟觉得这个和我们之前学过的pandas可视化有一些莫名的相似呢,不要觉得,它就是相似,之前讲过的属性在这里也是可以使用的,而且散点图,直方图都是只改变一下plt的方法而已,在这里我就不介绍了,有需要兄弟们多看看前面的笔记,就能懂了

网格布局

图表布局的意思就是很多张图放在同一张画布上,许多人工智能或者是对图表举例的时候都会用到

创建画布

fig = plt.figure(figsize=(10,6))
plt.show()

这个代码的意思就是创建一个长为10.宽为6的空白画布,是不是看下面的运行图就觉得非常的空白呀,哈哈
运行图:
10.图标布局之画布.png

添加图表

fig = plt.figure(figsize=(10,6))
a1 = fig.add_subplot(2,3,1)
plt.show()

运行图:
11.图标布局安排.png
add_subplot里面有三个参数,第一个参数是横向几行,第二个参数是纵向几列,第三个参数是放在第几个,我上面代码的意思就是画布中可以放两行三列一共6个图,a1这个图放在第一个

绘制图像

fig = plt.figure(figsize=(10,6))
a1 = fig.add_subplot(2,3,1)

year = [1990,2000,2002,2010]
gdp = [300,500,800,1100]
a1.plot(year,gdp)
plt.show()

运行图:
12.向图表中绘制图像.png

添加标题

fig = plt.figure(figsize=(10,6))
a1 = fig.add_subplot(2,3,1)

year = [1990,2000,2002,2010]
gdp = [300,500,800,1100]
a1.plot(year,gdp)
plt.title('测试图表布局')
plt.show()

运行图:
13.添加标题.png

今日鸡汤

我们这一辈子,注定会经历很多不如意,如果无法学会与自己和解,真的会很累!与其盯着那些不好的,不如带着一颗乐观满足的心,寻找生命的确幸,积蓄勇敢的力量。

免费评分

参与人数 6吾爱币 +5 热心值 +5 收起 理由
夺笋 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
UPC + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
梵星啊 + 1 + 1 我很赞同!
莎莉 + 1 我很赞同!
lyl610abc + 1 + 1 我很赞同!
雷欧库珀 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lyl610abc 发表于 2021-3-19 17:28
最近混吃等死中
持续性摸鱼,不像楼主这么有毅力
 楼主| qianshang666 发表于 2021-3-19 17:29
lyl610abc 发表于 2021-3-19 17:28
最近混吃等死中
持续性摸鱼,不像楼主这么有毅力

我也混吃等死了两天
Cacarot 发表于 2021-3-19 17:54
hxw. 发表于 2021-3-19 17:56
下载试试看。
armeddevil 发表于 2021-3-19 19:00
通过PYTHON由浅入深学习,支持大神的教程
yww595 发表于 2021-3-19 21:09
python学习路上,先保留
速水真澄 发表于 2021-3-20 08:33
膜拜大神,能够坚持下去
samsung3ne 发表于 2021-3-20 08:58
先存着,等学到了再来看。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 17:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表