数据可视化——Matplotlib绘图03

本篇将介绍Matplotlib中plt常见的二维图形绘制命令。
先简单绘制一个二维图形:数据可视化——Matplotlib绘图03_第1张图片

plt.gcf()与plt.gca()

当前图表和子图可以使用plt.gcf()与plt.gca()获得。例如plt.plot()实际上会通过plt.gca()获得当前的Axes对象ax,然后再调用ax.plot()方法实现真正的绘图。

plt.plot(x,y)
ax = plt.gca()
ax.spines['right'].set_color('red')    #set_color()可以更改边框颜色    spine是复数
ax.spines['left'].set_color('blue') 
ax.spines['top'].set_color('none')   #想让哪条线消失,就可以把哪条线的颜色设置为None

数据可视化——Matplotlib绘图03_第2张图片

 #更改x与y轴,就先把x与y轴设置成none,然后重新选择两条线当做x与y轴。
x = np.linspace(-3.15,3.15,100)
y = np.sin(x)
plt.plot(x,y)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

数据可视化——Matplotlib绘图03_第3张图片

plt.figure()

创建Figure对象
Figure对象是后续绘图操作的总容器。

figure(num=l None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
  • num:图像编号或名称,数字为编号, 字符串为名称
  • fgsize:指定figure的宽和高 ,单位为英寸;
  • dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80。1英寸等于2.5cm,A4纸是21 *30cm的纸张
  • facecolor:背景颜色
  • edgecolor:边框颜色
  • frameon:是否显示边框

plt.savefig()

把图存到文件里。

plt.bar()与plt.barh()

#  plt.bar()与plt.barh()
x = np.arange(10)   生成10个1到10之间的整数
data = np.random.randint(1,11,10)
data

plt.bar(x,data)   #绘制条形图
plt.show()

数据可视化——Matplotlib绘图03_第4张图片

#  水平条形图
plt.barh(x,data,label='bar')
plt.legend(loc=1)
plt.title('horizontal bar chart')
plt.show()

数据可视化——Matplotlib绘图03_第5张图片

plt.bar(x,data,facecolor='r',edgecolor='y',lw='5',alpha=0.7)  #给图形更改颜色、边框颜色、粗细、透明度

数据可视化——Matplotlib绘图03_第6张图片

plt.pie()

饼图绘制

x = [0.1,0.5,0.03,0.1,0.05]   #这几个数字加起来要比1要小,大于一的话会直接画一个正圆,各项按百分比来看
plt.pie(x)

数据可视化——Matplotlib绘图03_第7张图片

x = [1,5,2]
plt.pie(x,labels=["egg","hiit","song"],explode=[1.5,0,0])  
#lables—命名,数字有几个,lables就要有几个,一一对应 
#explode—突出图形,让图形移位,0的话图形就仍然留在原地

数据可视化——Matplotlib绘图03_第8张图片

x = [1,5,2]
plt.pie(x,labels=["egg","hiit","song"],shadow=True,autopct="%1.1f%%")    #把数字加到图里,用的是百分号的格式方法。在f后加两个‘%’才能完成转义,显示出来

数据可视化——Matplotlib绘图03_第9张图片

画圆环图:

x = [1,5,2]
plt.pie(x,labels=["egg","hiit","song"])
plt.pie([1],colors="w",radius=0.7)     #在大饼图的里面再画一个小的,颜色设为白色,因为默认都是从圆心开始画的,所以可以叠加
plt.axis("equal")   #让饼图显示为正圆

数据可视化——Matplotlib绘图03_第10张图片

plt.boxplot() 箱线图(盒图)

 data = [np.random.normal(0,std,100) for std in range(1,4)]    #列表推导式,求随机数的
plt.boxplot(data)   #每次画的图像都不一样,因为是随机数

plt.boxplot(data,notch=True,sym="*",vert=False)    #vert—改变图形方向

数据可视化——Matplotlib绘图03_第11张图片

data = [np.random.normal(0,std,100) for std in range(1,4)]    #列表推导式,求随机数的
plt.boxplot(data,notch=True,sym="*",vert=False,patch_artist=True)   #想要箱体有颜色,patch_artist要设置为True

数据可视化——Matplotlib绘图03_第12张图片

你可能感兴趣的:(数据可视化——Matplotlib绘图03)