python3 matplotlib绘制图形

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34777982/article/details/82352324

1.初识matplotlib

#matplotlib库操作
import matplotlib.pyplot as plt

#创建图表1 dpi设置图表大小
plt.figure(1, dpi=50)

#创建子图表 2*2的图标矩阵 绘制的子图为矩阵的3序号
plt.subplot(2, 2, 3)
#显示四个子图
plt.subplot(2, 2, 1)
plt.subplot(2, 2, 2)
plt.subplot(2, 2, 4)

#创建图表2
'''
plt.figure(2, dpi=150)
#3*3矩阵 
plt.subplot(3, 3, 1)
plt.subplot(3, 3, 2)
plt.subplot(3, 3, 3)
plt.subplot(3, 3, 4)
plt.subplot(3, 3, 5)
plt.subplot(3, 3, 6)
plt.subplot(3, 3, 7)
plt.subplot(3, 3, 8)
plt.subplot(3, 3, 9)
'''
#显示所有图表
plt.show()

2.绘制函数图形

import matplotlib.pyplot as plt
import numpy as np

#创建图表
plt.figure(1, dpi=50)
#画函数图像 plot(x,y)  的 x 参数表示x值,y参数表示y值
#x 轴定义域-3.14-3.14 间隔100
x = np.linspace(-np.pi, np.pi, 100)
plt.plot(x, np.sin(x))
plt.show()

3.子图中绘图

import matplotlib.pyplot as plt
import numpy as np

#创建图表 大小50
plt.figure(1, dpi=50)
#创建两个子图
sub1 = plt.subplot(2, 1, 1)
sub2 = plt.subplot(2, 1, 2)

#函数绘图

#x 定义域[0, 10] 间隔100
x = np.linspace(0, 10, 100)

#选择子图sub1
plt.sca(sub1)
#在子图中绘制函数exp(x)
plt.plot(x, np.exp(x))

#选择子图sub2
plt.sca(sub2)
#绘制sin(x)
plt.plot(x, np.sin(x))

plt.show()

4.一张表画多条线

import matplotlib.pyplot as plt
import numpy as np

plt.figure(1, dpi=50)
#x 定义域[-2pi, 2pi] 间隔100
x = np.linspace(-2 * np.pi, 2 * np.pi, 100)

#画四条线
for i in range(1, 5):
	plt.plot(x, np.cos(x/i))

plt.show()

5.直方图

import matplotlib.pyplot as plt
import numpy as np

plt.figure(1, dpi=50)

data = [2, 3, 4, 1, 2, 4, 2, 4, 2, 5, 6, 3, 6, 4, 5, 6, 4]
#此函数是画直方图
plt.hist(data)

plt.show()

6.散点图

#散点图用 scatter(x,y) 绘制,x参数传入x轴的坐标,y参数传入  y 轴坐标
import matplotlib.pyplot as plt
import numpy as np

#测试数据
x = np.arange(1, 10)
y = np.sin(x)

plt.figure(1, dpi=50)
#c = 'r' 表示散点为红色 marker = 'o'表示指定散点形状为圆形
plt.scatter(x, y, c = 'r', marker = 'o')

plt.show()

7.饼图pie()

#pie()饼图
import matplotlib.pyplot as plt
import numpy as np

#数据
data = [100, 500, 300, 200, 400]

plt.figure(dpi=100)
plt.pie(
	data,  #每个饼的实际数据 若大于1 会进行归一化 计算百分比
	explode = [0.0, 0.0, 0.1, 0.2, 0.8],  #每个饼块离中心距离
	colors=['y', 'r', 'g', 'b', '#91e8e1'], #每个饼块的颜色
	labels=['A', 'B', 'C', 'D', 'E'], #每个饼块的标签
	labeldistance=0.8,  #每个饼块标签离中心的距离
	autopct='%1.1f%%',   #百分比的显示模式
	pctdistance=0.4,     #百分比离中心的距离
	shadow=True,          #每个饼块是否显示阴影
	startangle=0,        #默认从x正半轴逆时针起
	radius=1             #饼块半径
	)

plt.show()

8.图表参数设置

#图表的注释和标识
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(dpi=100)

x = np.linspace(0, 10, 100)
#设置一个label 显示图例
plt.plot(x, np.sin(x), label="sin(x)")
#显示x轴文字
plt.xlabel("X axe")
#显示Y轴
plt.ylabel("Y axe")
#设置图表的标题
plt.title("function sin(x)")

#显示图例
plt.legend()

plt.show()

9. 加载文件并绘图

#加载txt文件并绘图
import matplotlib.pyplot as plt
import numpy as np

#加载txt文件 分隔符,
data = np.loadtxt('data_test.txt', delimiter=',')
#ro表示每个数据在图表中显示红色圆点
#冒号左边是行范围,冒号右边列范围
#第一维全取,第二维取第0个和 第一个方向
plt.plot(data[:, 0], data[:, 1], 'ro')
plt.show()
data_test.txt

0,0
1,1
2,4
3,9
4,16
5,25
6,36
7,49
8,64
9,81
0,0
1,1
2,4
3,9
4,16
5,25
6,36
7,49
8,64
9,81
0,0

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/82352324