一、Matplotlib基础-图表组成元素
jupyter路径介绍
1.1 plot()函数和scatter()函数
1.1.1 函数plot()——展现变量的趋势变化
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.cos(x)
选取绘图函数,调整参数:
plt.plot(x,y,ls='-',lw=2,label="plot figure")
plt.legend()
plt.show()
结果:
1.1.2 函数scatter()——寻找变量之间的关系
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x=np.linspace(0.05,10,1000)
y=np.random.rand(1000)
选取绘图函数,调整参数:
plt.scatter(x,y,label="scatter figure")
plt.legend()
plt.show()
结果:
1.2 xlim()&ylim()、xlabel()&ylabel()函数以及grid()函数
1.2.1 函数xlim()与ylim()——设置x轴与y轴的数值显示范围
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x=np.linspace(0.05,10,1000)
y=np.random.rand(1000)
选取绘图函数,调整参数:
plt.scatter(x,y,label="scatter figure")
plt.legend()
plt.xlim(0,10)
plt.ylim(0,1)
plt.show()
结果:
1.2.2 函数xlabel()和ylabel()——设置x轴和y轴的标签文本
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选取绘图函数,调整参数:
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.legend()
# 设置标签
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()
结果:
1.2.3 函数grid()——绘制刻度线的网格线
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选取绘图函数,调整参数:
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.legend()
plt.grid(linestyle=":",color="r")
plt.show()
结果:
1.3 函数axhline()&axvline()、函数axvspan()以及函数annotate()
1.3.1 函数axhline()、axvline()——绘制平行于x/y轴的水平参考线
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选择绘图函数,设置参考线:
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.legend()
plt.axhline(y=0.0,c="r",ls="--",lw=2)
plt.axvline(x=4.0,c="r",ls="--",lw=2)
plt.show()
结果:
1.3.2 函数axvspan()——绘制垂直于x轴的参考区域
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选择绘图函数,设置参考区域:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.legend()
plt.axvspan(xmin=4.0,xmax=6.0,facecolor="y",alpha=0.3)
plt.axhspan(ymin=0.0,ymax=0.5,facecolor="y",alpha=0.3)
plt.show()
结果:
1.3.3 函数annotate()——添加图形内容细节的指向型注释文本
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选择绘图函数,设置注释:
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.annotate("maximum",
xy=(np.pi/2,1.0),
xytext=((np.pi/2)+1.0,.8),
weight="bold",
color="b",
arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="b"))
plt.show()
结果:
1.4 函数text()、函数title()以及函数legend()
1.4.1 函数text()——添加图形内容细节的无指向型注释文本
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选择绘图函数,设置注释:
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.legend()
plt.text(3.1,0.09,"y=sin(x)",color="b")
plt.show()
结果:
1.4.2 函数title()——添加图形内容的标题
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选择绘图函数,设置注释:
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.legend()
plt.title("y=sin(x)")
plt.show()
结果:
1.4.3 函数legend()——标识不同图形的文本标签图例
导入支持库:
import matplotlib.pyplot as plt
import numpy as np
数据准备:
x = np.linspace(0.05,10,1000)
y = np.sin(x)
选择绘图函数,设置注释:
plt.plot(x,y,ls="-.",lw=2,c="c",label="plot figure")
plt.legend(loc="lower left")
plt.show()
结果:
1.5 Matplotlib各种绘图类型
1.5.1 函数bar()——用于绘制柱状图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
设置实验模拟数据:
x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]
调用bar函数绘制图形,设置坐标轴:
plt.bar(x,y,align="center",color="c",tick_label=["q","a","c","e","r","j","b","p"],hatch="/")
plt.xlabel("box num")
plt.ylabel("weight(kg)")
plt.show()
运行结果:
1.5.2 函数barh()——用于绘制条形图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
设置实验模拟数据:
x = [1,2,3,4,5,6,7,8]
y = [3,1,4,5,8,9,7,2]
调用bar函数绘制图形,设置坐标轴:
plt.barh(x,y,align="center",color="c",tick_label=["q","a","c","e","r","j","b","p"],hatch="/")
plt.xlabel("weight(kg)")
plt.ylabel("box num")
plt.show()
运行结果:
1.5.3 函数hist()——用于绘制直方图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
设置绘图数据:
boxWeight = np.random.randint(0,10,100)
x = boxWeight
bins = range(0,11,1)
调用hist函数绘制图形,设置标尺:
plt.hist(x,bins=bins, color="g", histtype="bar", rwidth=1, alpha=0.8)
plt.xlabel("box weight(kg)")
plt.ylabel("sales count")
plt.show()
运行结果:
1.5.4 函数pie()——用于绘制饼图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
设置中文显示:
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
设置绘图数据:
kinds = "简易箱","保温箱","行李箱","密封箱"
colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3"]
soldNums=[0.05, 0.45,0.15,0.35]
调用hist函数绘制图形,设置标尺:
plt.pie(soldNums,
labels=kinds,
autopct="%3.1f%%",
startangle=60,
colors=colors)
plt.title("不同类型箱子的销售比例")
plt.show()
运行结果:
1.5.5 函数polar()——用于绘制极线图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
设置中文显示:
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
设置绘图数据:
barSlices = 12
theta = np.linspace(0.0, 2*np.pi, barSlices, endpoint=False)
r=30*np.random.rand(barSlices)
调用函数绘制图形,设置标尺:
plt.polar(theta,r,color="chartreuse",linewidth=2,marker="*",mfc="b",ms=10)
plt.show()
运行结果:
1.5.6 函数scatter()——用于绘制气泡图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
设置中文显示:
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
设置绘图数据:
a = np.random.randn(100)
b = np.random.randn(100)
调用函数绘制图形,设置标尺:
plt.scatter(a,b,s=np.power(10*a + 20*b,2),
c=np.random.rand(100),
cmap=mpl.cm.RdYlBu,
marker="o")
plt.show()
运行结果:
1.5.7 函数stem()——用于绘制棉棒图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
设置中文显示:
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
设置绘图数据:
x = np.linspace(0.5,2*np.pi,20)
y = np.random.randn(20)
调用函数绘制图形,设置标尺:
plt.stem(x,y,linefmt="-.",markerfmt="o",basefmt="-")
plt.show()
运行结果:
1.5.8 函数boxplot()——用于绘制箱线图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
设置中文显示:
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
设置绘图数据:
x = np.random.randn(100)
调用函数绘制图形,设置标尺:
plt.boxplot(x)
plt.xticks([1],["随机数生成器AlphaRM"])
plt.ylabel("随机数值")
plt.title("随机数生成器抗干扰能力的稳定性")
plt.grid(axis="y",ls=":",lw=1,color="gray",alpha=0.4)
plt.show()
运行结果:
1.5.9 函数errorbar()——用于绘制误差棒图
导入支持库:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
设置中文显示:
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
设置绘图数据:
x = np.linspace(0.1,0.6,6)
y = np.exp(x)
调用函数绘制图形,设置标尺:
plt.errorbar(x,y,fmt="bo:",yerr=0.2,xerr=0.02)
plt.xlim(0,0.7)
plt.show()
运行结果:
定义目录标题)
|