1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【matplotlib笔记】柱形图 直方图 散点图 饼图以及叠加图绘制

【matplotlib笔记】柱形图 直方图 散点图 饼图以及叠加图绘制

时间:2019-09-07 21:21:44

相关推荐

【matplotlib笔记】柱形图 直方图 散点图 饼图以及叠加图绘制

matplotlib绘图

基础操作柱形图直方图散点图面向过程的方法绘制散点图面向对象的方法绘制散点图饼图叠加图plt.text()添加文字说明

基础操作

import matplotlib.pyplot as plt"""绘制图:x轴标签为:x_data;y轴标签为:y_data;图标题为:title is here!;左上角显示线条信息;"""# 线1,x轴坐标,y轴坐标x = range(1,5)y = [5, 6, 8, 9]# 线2,x轴坐标,y轴坐标x1 = [1, 2, 3, 4]y1 = [5, 9, 12, 14]plt.xlabel('x_data') # 定义x轴标签plt.ylabel('y_data') # 定义y轴标签plt.title('title is here!') # 定义标题plt.plot(x, y, label='line one') # 定义线条信息plt.plot(x1, y1, label='line two')plt.legend(loc=0) # 显示线条信息(定义位置)plt.show() # 展示绘制的图像

柱形图

# 柱形图import matplotlib.pyplot as pltx = [2,4,6,8,10]y = [4,2,6,8,9]plt.xlim(0,12) # x轴范围为0,12plt.ylim(0,10) # y轴范围为0,10# 等价于 plt.axis([0,12,0,10])plt.bar(x,y) # 绘制柱形图plt.xlabel('x_data') # 定义x轴标签plt.ylabel('y_data') # 定义y轴标签plt.title('title is here!') # 定义标题plt.show()

直方图

# 直方图import matplotlib.pyplot as pltimport numpy as npx = np.random.randint(1,100,100) # 产生100个值为1到100的随机整数bins = [0,10,20,30,40,50,60,70,80,90,100]plt.hist(x,bins,rwidth=0.7) # 直方图plt.xlabel('x_data') # 定义x轴标签plt.ylabel('y_data') # 定义y轴标签plt.title('title is here!') # 定义标题plt.show()

散点图

面向过程的方法绘制散点图

# 散点图import matplotlib.pyplot as pltimport numpy as npx = np.random.randint(1,10,50)y = np.random.randint(1,10,50)x1 = np.random.randint(1,10,30)y1 = np.random.randint(1,10,30)plt.scatter(x,y,color='r') # 散点图,颜色为红色plt.scatter(x1,y1,color='g') # 散点图,颜色为绿色plt.xlabel('x_data') # 定义x轴标签plt.ylabel('y_data') # 定义y轴标签plt.title('title is here!') # 定义标题plt.show()

面向对象的方法绘制散点图

# 面向对象绘图import matplotlib.pyplot as pltimport numpy as npx = np.random.randint(1,10,50)y = np.random.randint(1,10,50)fig,ax = plt.subplots() # 初始化绘图对象,fig为画布,ax为图像ax.scatter(x,y)plt.xlabel('x_data') # 定义x轴标签plt.ylabel('y_data') # 定义y轴标签plt.title('title is here!') # 定义标题plt.show()

饼图

# 饼图import matplotlib.pyplot as pltlabel = 'A','B','C','D'size = [12, 30, 45, 10]# 占比explode = (0, 0.1, 0, 0) # 突出B模块# fig, ax = plt.subplots()# 自动计算百分比,显示小数点后1位;有阴影;起始角度为90度;突出显示B模块;# ax.pie(size,labels=label,autopct='%1.1f%%',shadow=True,startangle=90,explode=explode) # 面向对象的方法绘制# plt.show()# 自动计算百分比,显示小数点后1位;有阴影;起始角度为90度;突出显示B模块;plt.pie(size,labels=label,autopct='%1.1f%%',shadow=True,startangle=90,explode=explode) # 面向过程的方法绘制plt.show()

叠加图

# 叠加图import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False# 用来正常显示负号t = np.arange(0., 5., 0.2) # 产生0到5.0之间,步长为0.2的等差序列(不包括5.0)# 一张画布上画了三种图# 分别为 y = x、 y = x^2 、 y = x^3# r--为黄色虚线,bs为蓝色方块,g^为绿色三角plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')plt.show()

plt.text()添加文字说明

# plt.text()添加文字说明import matplotlib.pyplot as pltimport numpy as npmu, sigma = 100, 15x = mu + sigma * np.random.randn(10000)# 数据的直方图n, bins, patches = plt.hist(x, 50, normed=1, facecolor='g', alpha=0.75)plt.xlabel('Smarts')plt.ylabel('Probability')plt.title('Histogram of IQ') # 添加标题plt.text(60, .025, r'$mu=100, sigma=15$') # 添加文字plt.axis([40, 160, 0, 0.03])plt.grid(True)plt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。