水里水汽小小虫 发表于 2021-1-9 18:00

python数据可视化自学记录贴(一)——MatPlotlib可视化

本帖最后由 水里水汽小小虫 于 2021-1-9 21:34 编辑

写在最前的话:
绘图入门的三部曲就像英语的主谓宾。
      长难句 = 主干 + 修饰
绘图三部曲 = 主干 + 修饰 ,希望我的小结能帮到你!

1.matplotlib绘图库介绍Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的3D图表,可根据数据集( Dataframe, Series)自行定义形(线形图,柱状图,直方图,密度图,散布图等等),能够解决大部分的需求。
2.绘图核心三部曲
step 1:创建画布与创建子图
实现方式:



plt.figure创建一个空白画布,可以指定画布大小,像素。
figure.add_subplot创建并选中子图,可以指定子图的行数,列数,与选中图片编号。



step 2:添加画布内容
实现方式:

plt.title在当前图形中添加标题,可以指定标题的名称、位置、颜色、字体大小等参数。
plt.xlabel在当前图形中添加x轴名称,可以指定位置、颜色、字体大小等参数。
plt.ylabel在当前图形中添加y轴名称,可以指定位置、颜色、字体大小等参数。
plt.xlim指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识。
plt.ylim指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识。
plt.xticks指定x轴刻度的数目与取值。
plt.yticks指定y轴刻度的数目与取值。
plt.legend指定当前图形的图例,可以指定图例的大小、位置、标签。



step 3:保存与展示图形
实现方式:


plt.savafig保存绘制的图片,可以指定图片的分辨率、边缘的颜色等参数。
plt.show在本机显示图形。



3.散点图: plt.scatter()

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)   #0到2Π,顺便生成100个点的意思
y = np.sin(x) + np.random.random(len(x))   #只有sinx一条曲线不得劲,于是在曲线周边生成密密麻麻的点; ps:在实际的工作中,数据可以无限接近sin曲线,但是不可能完全一样,所以会有后面的那托东西,即“np.random.random(len(x))”
plt.scatter(x, y)
plt.show()


4.折线图: plt.plot()

x = np.linspace(0, 2*math.pi, 100)#0到2Π,顺便生成100个点的意思
y = np.sin(x) + np.random.random(len(x)) #见3,有解释了
plt.scatter(x, y)
plt.plot(x,y)#用了“plot”,使得蓝线连在一起,没连之前是上图的样子

plt.plot(x,np.sin(x)+1)#加了一条橙色线;sin(x)+1:向上移动一格
plt.show()


5.柱状图:plt.bar()

x = range(n) #就是x的长度嘛
y1=np.random.random(n)#y1的长度,随即取;ps:这里的n都是指0-1的n个数
y2=np.random.random(n)
plt.bar(x,y1)
plt.bar(x,-y2) #取负数,更好看
for i, j in zip(x,y1):    #for循环,应该不用解释

    plt.text(i , j, '%.2f'%j, ha='center', va='bottom')    #'%.2f'%:这两个玩意是固定写法“%%”,“.2f”是指取小数两位

for i, j in zip(x, y2):
   plt.text(i , -j ,'%.2f'%j, ha='center', va='top')
plt.show()



6.饼图:plt.pie()

z = np.ones(10) #取10个数,每个都是1
plt.figure(figsize=(6,6))#调整大小:6x6
plt.pie(z, autopct='%.2f%%', explode= +9*)#autopct='%.2f%%'——这是显示数字用的,里面的'%.2f'%咋们上面刚说;后面那块,这样理解:第一块饼往后移0.5cm,其他的九块饼不动
plt.show()

紫藤,飘零叶 发表于 2021-1-9 20:53

自学了一段时间,学不进去了

xjshuaishuai 发表于 2021-1-9 21:05

多谢,学习了!

水里水汽小小虫 发表于 2021-1-9 21:35

xjshuaishuai 发表于 2021-1-9 21:05
多谢,学习了!

一起学习,一起进步!

水里水汽小小虫 发表于 2021-1-9 21:36

下次代码用图发出来比较好看,现在的不太美观{:1_907:}

wind315_ 发表于 2021-1-9 22:53

好多库,感觉记不住

寒冰流火 发表于 2021-1-10 07:17

谢楼主发帖 matplotlib库学一下

水里水汽小小虫 发表于 2021-1-10 11:27

wind315_ 发表于 2021-1-9 22:53
好多库,感觉记不住

如果有实战练手就很快上手了,下个贴子发

wind315_ 发表于 2021-6-6 21:28

水里水汽小小虫 发表于 2021-1-10 11:27
如果有实战练手就很快上手了,下个贴子发

实战练手的出来了么,试试看我这样的老年人能记住不{:1_937:}
页: [1]
查看完整版本: python数据可视化自学记录贴(一)——MatPlotlib可视化