matplotlib使用文档(不断补充)


Matplotlib
官方文档

1.基础图形绘制

导入包

import matplotlib.pyplot as plt
import numpy as np

折线图

x = np.array([1,2,3,4,5,6,7,8])
y = np.array([3,5,8,6,2,6,7,15])
plt.plot(x,y,color='b')#折线 (x,y,color,lw) lw为线的粗度 
plt.axvline(8)#画一条x=8参考线
plt.xticks(range(1,10))
plt.ylim([0,20])
plt.ylabel('money')
plt.title('salay')
plt.show()


柱状图

y = np.array([1,13,25,17,36,21,16,10,15])
plt.bar(range(9),y,0.6, align = 'center',color='steelblue',alpha=0.2)# 柱状图(x,y,粗度,a透明度,color) 
for x,y in enumerate(y):
      plt.text(x,y,'%d' %y ,ha='center') # 给柱状图添加图示
plt.show()

在这里插入图片描述
直方图

y = np.array([1,13,25,17,36,21,16,10,15])
plt.hist(y, bins=5,color='gray')# 直方图(x,y,粗度,a透明度,color) 
plt.show()


饼图

x = np.array([5,6,7,8])
plt.pie(x)
plt.show()


修饰图

x = np.array([1,2,3,4,5,6,7,8])
y = np.array([3,5,8,6,2,6,7,15])
plt.fill_between(x,y,0,color='green') # 修饰图
plt.show()


散点图

n = 1024
#均值为0, 方差为1的随机数
x = np.random.normal(0, 1, n)
y = np.random.normal(0, 1, n)
#计算颜色值
color = np.arctan2(y, x)
#绘制散点图
plt.scatter(x, y, s = 75, c = color, alpha = 0.5)
#设置坐标轴范围
plt.xlim((-1.5, 1.5))
plt.ylim((-1.5, 1.5))


绘制图像

#绘制图片
a = np.linspace(0, 1, 9).reshape(3, 3)
#显示图像数据
plt.imshow(a, interpolation = 'nearest', cmap = 'bone', origin = 'lower')
#添加颜色条
plt.colorbar()
#去掉坐标轴
plt.xticks(())
plt.yticks(())
plt.show()

2.fugure使用

x = np.linspace(-1, 1, 50)
#figure,指定figure的编号并指定figure的大小, 指定线的颜色, 宽度和类型
#一个坐标轴上画了两个图形
y1 = x**2
y2 = np.sin(x)
plt.figure(num = 1, figsize = (5, 5))
plt.plot(x, y1)
plt.plot(x, y2, color = 'red', linewidth = 1.0, linestyle = '--')
plt.show()


在一个figure绘制多个子图

plt.figure()
#绘制第一个图
plt.subplot(2, 1, 1)
plt.plot([0, 1], [0, 1])
#绘制第二个图
plt.subplot(2, 3, 4)
plt.plot([0, 1], [0, 1])
#绘制第三个图
plt.subplot(2, 3, 5)
plt.plot([0, 1], [0, 1])
#绘制第四个图
plt.subplot(2, 3, 6)
plt.plot([0, 1], [0, 1])
plt.show()

3.基础知识

%matplotlib主要用于当我们在jupyter notebook使用plt画图,图像可以直接显示在代码单元格下面,生成的图也位于jupyter notebook中。Purpose of “%matplotlib inline”

参考Python第三方库matplotlib(2D绘图库)入门与进阶

猜你喜欢

转载自blog.csdn.net/weixin_40548136/article/details/86544751
今日推荐