Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口, Matplotlib 通常与 NumPy、Pandas 一起使用,是数据分析中不可或缺的重要工具之一。
在数据分析中, 我们常常要用到大量的可视化操作, 通过一张图片, 就可以直观展示数据信息, 文不如表, 表不如图, 有图有真相,一图胜千言。
通过 Matplotlib, 只需要使用几行代码,就可以生成图表,直方图,条形图,箱型图,折线图,散点图,饼图等等,标注的数据让我们很直观的理解各项数据。
我使用的是Jupyter。
官网:Matplotlib — Visualization with Pythonhttps://matplotlib.org/
绘图:
一、导包:
二、简单的配置:
三、基础图形举例:
抛物线:
样式: o,^,v,<,>,s,+,x,D,d,1,2,3,4,h,H,p,| ,_,'-','--','-.',':','.',','
颜色(简写): b(蓝色),g(绿色),r(红色),c(青色),m(品红),y(黄色),k(黑色),w(白色)
画布配置
plt.figure(figsize=(10, 3), dpi=80, facecolor='b')
figsize: 画布大小,宽高
dpi :分辨率
facecolor: 背景颜色
在同一个画布上绘制多个图形
plt.show()展示图形
五、配置参数参考
一部分参数,仅供参考
六、Matplotlib常用视图
折线图(plot)
import matplotlib.pyplot as plt
import numpy as np
# make data
x = np.linspace(0, 10, 100)
y = 4 + 1 * np.sin(2 * x)
plt.plot(x,y,c="c")
plt.title("折线图")
plt.xlabel("$x$")
plt.ylabel("$y$")
plt.show()
柱形图(bar)
import matplotlib.pyplot as plt
import numpy as np
# make data
x = 0.5 + np.arange(8)
y = [4.8, 5.5, 3.5, 4.6, 6.5, 6.6, 2.6, 3.0]
plt.bar(x,y,color="yellow")
plt.title("柱形图")
plt.xlabel("$x$")
plt.ylabel("$y$")
plt.show()
直方图(hist)
import matplotlib.pyplot as plt
# 假设data是一个包含数据的列表或数组
data = [1, 2, 1, 3, 3, 1, 4, 2, 1]
# 创建直方图
plt.hist(data, bins=4,color="purple")
# 直方图将数据范围分成若干个等宽的区间(称为“bins”),可以指定bins的数量
plt.title("直方图")
plt.xlabel("$x$")
plt.ylabel("$y$")
plt.show()
散点图(scatter)
import matplotlib.pyplot as plt
import numpy as np
x = 4 + np.random.randint(1,21,size=20)
#用于生成符合正态分布(也称为高斯分布)的随机数
y = 4 + np.random.normal(0, 2, len(x))
# size and color:
sizes = np.random.uniform(1, 100, len(x))
colors = np.random.uniform(15, 80, len(x))
# plot
plt.scatter(x, y, s=sizes, c=colors,alpha=0.6)
plt.title("散点图")
plt.xlabel("$x$")
plt.ylabel("$y$")
plt.show()
箱型图(box)
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(10)
D = np.random.normal((3, 5, 4))
plt.boxplot(D,label="xxx")
plt.title("箱线图")
plt.xlabel("$x$")
plt.ylabel("$y$")
plt.legend() #图例,会根据每个线条对象通过label参数指定的标签来生成
plt.show()
饼图(pie)
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
plt.pie(x,startangle=100,autopct="%.2f%%",labels=["a","b","c","d"])
#startangle 指定了饼图中的第一个扇区(切片)的起始角度
#autopct 百分比
plt.title("饼图")
plt.legend()
plt.show()
七、超简单3D图形
这部分,我理解的也不是很清楚,seed是随机种子,使随机生成的数据保持不变。
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(100)
fig=plt.figure(figsize=(10,5))
a=np.random.randint(1,100,size=20)
b=np.random.randint(1,100,size=20)
c=np.random.randint(1,100,size=20)
fig,ax = plt.subplots(subplot_kw={"projection": "3d"})
ax.scatter(a, b, c,color="r")
plt.show()
最后,,,官网资料也是比较齐全的,但是需要有一定的英语基础这样更好的去使用和理解,学习是一个循序渐进的过程,希望读到这里的朋友,一定要加油哦!
标签:plt,show,Python,random,matplotlib,np,import,三剑客 From: https://blog.csdn.net/C_EST_L_VIE/article/details/139828244