一文带你快速上手Python绘图库Matplotlib的用法
Admin 2021-09-04 群英技术资讯 432 次浏览
这篇文章主要介绍Python绘图库Matplotlib的用法,下文有绘制线型图、子图、散点图等等示例,有这方面学习需求的朋友可以参考学习,希望大家阅读完这篇文章能有所收获,下面就跟随小编来学习一下吧。
Matplotlib是Python的绘图库,不仅具备强大的绘图功能,还能够在很多平台上使用,和Jupyter Notebook有极强的兼容性。
import matplotlib.pyplot as plt import numpy as np # 指定生成随机数的种子,这样每次运行得到的随机数都是相同的 np.random.seed(42) # 生成30个满足平均值为0、方差为1的正态分布的样本 x = np.random.randn(30) # plot本意有“绘制(图表)”的意思,所以下面这一行代码是绘制图表。
#r指定绘制的线条颜色为红色,o指定标记实际点使用的形状为圆形,--指定线条形状为虚线 plt.plot(x, "r--o") # 显示图表 plt.show()
线条颜色常用参数:
标记形状常用参数:
线型常用参数:
import matplotlib.pyplot as plt import numpy as np # 未指定种子的值,所以最终产生的随机数不同 # randn()生成30个满足平均值为0、方差为1的正态分布的样本 a = np.random.randn(30) b = np.random.randn(30) c = np.random.randn(30) d = np.random.randn(30) # a:红色,虚线,圆形;b:蓝色,实线,星号;c:绿色,点实线,加号;d:洋红色,点线,x形状 plt.plot(a, "r--o", b, "b-*", c, "g-.+", d, "m:x") plt.show(
为了让绘制的图像更易理解,我们可以增加一些绘制图像的说明,一般是添加图像的轴标签和图例,如下面的例子所示:
import matplotlib.pyplot as plt import numpy as np np.random.seed(42) x = np.random.randn(30) y = np.random.randn(30) # 图表标题 plt.title("Example") # 图表标签 plt.xlabel("X") plt.ylabel("Y") # X, Y后面的逗号去掉会报出警告 X, = plt.plot(x, "r--o") Y, = plt.plot(y, "b-*") # 图例显示(显示图片右上角的图例) # legend()有两个列表参数,第一个列表参数是图中实际使用的标记和线性,第二个列表参数是对应图例的文字描述 # legend本意:传奇、图例、解释、说明,这里是图例的意思 plt.legend([X, Y], ["X", "Y"]) plt.show()
当需要将多个图像同时在不同的位置显示,则需要用到子图(Subplot)的功能。
import matplotlib.pyplot as plt import numpy as np # 未指定随机数种子的值 a = np.random.randn(30) b = np.random.randn(30) c = np.random.randn(30) d = np.random.randn(30) # 定义一个实例fig,相当于子图最外面的大图 fig = plt.figure() # 向fig实例中添加需要的子图,前两个参数表示把大图分成了2行2列,最后一个参数表示使用哪一张子图进行绘制 ax1 = fig.add_subplot(2, 2, 1) ax2 = fig.add_subplot(2, 2, 2) ax3 = fig.add_subplot(2, 2, 3) ax4 = fig.add_subplot(2, 2, 4) # 设置图例 A, = ax1.plot(a, "r--o") ax1.legend([A], ["A"]) B, = ax2.plot(b, "b-*") ax2.legend([B], ["B"]) C, = ax3.plot(c, "g-.+") ax3.legend([C], ["C"]) D, = ax4.plot(d, "m:x") ax4.legend([D], ["D"]) plt.show()
如果需要获取的是一些散点数据,则可以通过绘制散点图(Scatter)来展示数据的分布和布局。
import matplotlib.pyplot as plt import numpy as np # 设置随机数种子的值 np.random.seed(42) x = np.random.randn(30) y = np.random.randn(30) # 散点图,scatter()的参数必须同时含有x, y plt.scatter(x, y, c = 'g', marker='o', label = "(X, Y)") # 散点图的标题 plt.title("Example") # 设置坐标轴的标签 plt.xlabel("X") plt.ylabel("Y") # 设置图例,loc=0表示使用最好的位置,loc=1强制图例使用图中右上角的位置,loc=2强制使用左上角位置,
#loc=3强制使用左下角位置,loc=4强制使用右下角位置 plt.legend(loc = 1) # 显示图像 plt.show()
scatter()方法中特别需要注意的参数:
直方图(Histogram)是一种统计报告图,通过使用一些列高度不等的纵向条纹或直方表示数据分布的情况,一般用横轴表示数据类型,纵轴表示分布情况。下面来看具体实例:
import matplotlib.pyplot as plt import numpy as np # 指定随机数种子的值 np.random.seed(42) x = np.random.randn(1000) # 直方图,bins表示绘制的直方图的条纹的数量;color表示直方图条纹的颜色,g表示绿色 plt.hist(x, bins = 20, color = 'g') # 设置标题 plt.title("Example") # 设置坐标轴标签 plt.xlabel("X") plt.ylabel("Y") # 显示图像 plt.show()
import matplotlib.pyplot as plt # 标签 labels = ['Dos', 'Cats', 'Birds'] # sizes的三个数字确定了每部分数据系列在整个圆形中的占比 sizes = [15, 50, 35] # 饼图,explode定义每部分数据系列之间的间隔,设置两个0和一个0.1,就能突出第三部分;
#autopct将sizes中的数据以所定义的浮点数精度进行显示; # startangle是绘制第一块饼图时,该饼图与X轴正方向的夹角度数,这是设置90度,默认是0度。 plt.pie(sizes, explode = (0, 0, 0.1), labels = labels, autopct = '%1.1f%%', startangle = 90) # 下面的一行代码必须存在,用于使X轴和Y轴的刻度时刻保持一致,只有这样,最后得到的饼图才是圆的 plt.axis('equal') # 显示图像 plt.show()
以上就是关于Python绘图库Matplotlib的基本用法的介绍,上文示例对大家学习和快速上手Matplotlib有一定的帮助,有需要的朋友可以借鉴参考。想要了解更多Matplotlib的用法,大家可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了用Python实现写倒序输出(任意位数),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
内容介绍一、框架架构二、项目内容介绍结构三、框架功能说明四、核心逻辑说明配置文件输出内容介绍请求工具类代码编写case程序主入口执行记录一、框架架构二、项目内容介绍结构三、框架功能说明解决痛点:通过s
python中in是什么意思?in在python中是成员运算符,如果在指定的序列中找到值返回 True,否则返回 False。
这篇文章主要介绍了Python如何通过变量ID得到变量的值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008