使用Python Matplotlib创建令人惊叹的数据可视化(上)

发表于:2023-9-05 09:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:你的老师父    来源:今日头条

  Python Matplotlib 的使用
  Python Matplotlib 是一个基于 Python 的 2D 绘图库,能够生成各种静态、动态、交互式的图表,支持多种输出格式,包括图片、PDF、SVG 等。Matplotlib 提供了大量的绘图函数和工具,可以方便地进行数据可视化、统计分析、科学计算等操作。
  本文将深入介绍 Python Matplotlib 的使用,包括常用的 API、参数、返回值,以及各种详细的示例代码,帮助读者更好地掌握这个强大的数据可视化工具。
  安装和导入 Matplotlib
  在开始使用 Matplotlib 之前,需要先安装 Matplotlib 库。可以使用 pip 命令进行安装。
  pip install matplotlib
  安装完成后,在 Python 中导入 Matplotlib 库。
  import matplotlib.pyplot as plt
  绘制简单的线图
  在 Matplotlib 中,可以使用 plot 函数绘制简单的线图。plot 函数的基本语法如下:
  plt.plot(x, y, fmt, **kwargs)
  其中,x 和 y 分别表示 x 轴和 y 轴的数据,fmt 是一个字符串,用于指定线条的样式,**kwargs 是一些可选参数,用于设置图形的属性。
  下面是一个简单的示例,用于绘制一条正弦曲线。
  import numpy as np
  import matplotlib.pyplot as plt
  # 生成 x 轴和 y 轴数据
  x = np.linspace(0, 2*np.pi, 100)
  y = np.sin(x)
  # 绘制正弦曲线
  plt.plot(x, y)
  # 显示图形
  plt.show()
  上述代码中,使用 linspace 函数生成了一个包含 100 个元素的数组,用于表示 x 轴的数据范围。然后使用 sin 函数生成了对应的 y 轴数据,最后调用 plot 函数绘制正弦曲线。
  常用的线条样式
  在 Matplotlib 中,可以使用 fmt 字符串指定线条的样式。fmt 字符串可以包含多个参数,用于指定线条的颜色、线型、标记等。下面是一些常用的参数:
  颜色:可以使用单个字符表示颜色,如 "r" 表示红色,"g" 表示绿色,"b" 表示蓝色,"y" 表示黄色等;也可以使用颜色名称,如 "red" 表示红色,"green" 表示绿色等。
  线型:可以使用单个字符表示线型,如 "-" 表示实线,"--" 表示虚线,":" 表示点线,"-." 表示点划线等。
  标记:可以使用单个字符表示标记,如 "." 表示点标记,"o" 表示圆形标记,"s" 表示正方形标记,"*" 表示星形标记等。
  在 fmt 字符串中,可以使用这些参数组合出各种不同的线条样式。例如,"ro--" 表示红色圆形虚线,"bs:" 表示蓝色正方形点线等。
  下面是一个示例,用于演示不同的线条样式。
  import numpy as np
  import matplotlib.pyplot as plt
  # 生成 x 轴和 y 轴数据
  x = np.linspace(0, 2*np.pi, 100)
  y1 = np.sin(x)
  y2 = np.cos(x)
  # 绘制正弦曲线和余弦曲线
  plt.plot(x, y1, "r-", label="sin")
  plt.plot(x, y2, "b--", label="cos")
  # 添加图例
  plt.legend()
  # 显示图形
  plt.show()
  在上述代码中,使用 plot 函数绘制了两条曲线,一条是红色实线的正弦曲线,一条是蓝色虚线的余弦曲线。然后使用 legend 函数添加了图例,最后调用 show 函数显示图形。
  设置图形属性
  在 Matplotlib 中,可以使用各种属性设置函数来改变图形的样式,包括标题、坐标轴、标签、颜色、线型等。下面是一些常用的属性设置函数:
  title:设置图形的标题。
  xlabel:设置 x 轴的标签。
  ylabel:设置 y 轴的标签。
  xlim:设置 x 轴的数据范围。
  ylim:设置 y 轴的数据范围。
  legend:添加图例。
  grid:添加网格线。
  color:设置线条的颜色。
  linestyle:设置线条的样式。
  linewidth:设置线条的宽度。
  marker:设置标记的样式。
  markersize:设置标记的大小。
  下面是一个示例,用于演示如何设置图形属性。
  import numpy as np
  import matplotlib.pyplot as plt
  # 生成 x 轴和 y 轴数据
  x = np.linspace(0, 2*np.pi, 100)
  y1 = np.sin(x)
  y2 = np.cos(x)
  # 绘制正弦曲线和余弦曲线
  plt.plot(x, y1, color="red", linestyle="--", linewidth=2, label="sin")
  plt.plot(x, y2, color="blue", linestyle="-.", linewidth=2, label="cos")
  # 设置标题、标签、数据范围、网格线等属性
  plt.title("Sin and Cos Curve")
  plt.xlabel("X Axis")
  plt.ylabel("Y Axis")
  plt.xlim(0, 2*np.pi)
  plt.ylim(-1.2, 1.2)
  plt.legend()
  plt.grid()
  # 显示图形
  plt.show()
  在上述代码中,使用 plot 函数绘制了两条曲线,并通过 color、linestyle、linewidth 等属性设置函数改变了它们的样式。然后使用 title、xlabel、ylabel、xlim、ylim、legend、grid 等属性设置函数添加了标题、标签、数据范围、图例、网格线等属性,最后调用 show 函数显示图形。
  绘制多个图形
  在 Matplotlib 中,可以使用 subplot 函数绘制多个图形。subplot 函数的基本语法如下:
  plt.subplot(nrows, ncols, index, **kwargs)
  其中,nrows 和 ncols 分别表示图形的行数和列数,index 表示当前图形的位置,从左到右,从上到下逐个编号。
  下面是一个示例,用于演示如何绘制多个图形。
  import numpy as np
  import matplotlib.pyplot as plt
  # 生成 x 轴和 y 轴数据
  x = np.linspace(0, 2*np.pi, 100)
  y1 = np.sin(x)
  y2 = np.cos(x)
  # 绘制正弦曲线和余弦曲线
  plt.subplot(2, 1, 1)
  plt.plot(x, y1, "r-", label="sin")
  plt.title("Sin and Cos Curve")
  plt.legend()
  plt.subplot(2, 1, 2)
  plt.plot(x, y2, "b--", label="cos")
  plt.xlabel("X Axis")
  plt.ylabel("Y Axis")
  plt.legend()
  # 显示图形
  plt.show()
  在上述代码中,使用 subplot 函数分别绘制了两个图形,一个是红色实线的正弦曲线,一个是蓝色虚线的余弦曲线。然后使用 title、xlabel、ylabel、legend 等属性设置函数添加了标题、标签、图例等属性,最后调用 show 函数显示图形。
  绘制散点图
  在 Matplotlib 中,可以使用 scatter 函数绘制散点图。scatter 函数的基本语法如下:
  plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, alpha=None, linewidths=None, edgecolors=None, **kwargs)
  其中,x 和 y 分别表示 x 轴和 y 轴的数据,s
  继续
  表示散点的大小,c 表示散点的颜色,marker 表示散点的形状,cmap 表示颜色映射表,alpha 表示透明度,linewidths 表示边框线宽度,edgecolors 表示边框颜色,**kwargs 是一些可选参数,用于设置图形的属性。
  下面是一个示例,用于演示如何绘制散点图。
  import numpy as np
  import matplotlib.pyplot as plt
  # 生成随机数据
  np.random.seed(42)
  x = np.random.randn(100)
  y = np.random.randn(100)
  colors = np.random.rand(100)
  sizes = 1000 * np.random.rand(100)
  # 绘制散点图
  plt.scatter(x, y, s=sizes, c=colors, alpha=0.5)
  # 显示图形
  plt.show()
  在上述代码中,使用 scatter 函数绘制了一个散点图,散点的大小和颜色都是随机生成的。然后使用 alpha 参数设置了散点的透明度,最后调用 show 函数显示图形。
  绘制条形图
  在 Matplotlib 中,可以使用 bar 函数绘制条形图。bar 函数的基本语法如下:
  plt.bar(x, height, width=0.8, bottom=None, align="center", color=None, edgecolor=None, linewidth=None, tick_label=None, **kwargs)
  其中,x 表示条形图的横坐标,height 表示条形图的高度,width 表示条形的宽度,bottom 表示条形图的底部位置,align 表示条形的对齐方式,color 表示条形的颜色,edgecolor 表示边框的颜色,linewidth 表示边框的宽度,tick_label 表示条形的标签,**kwargs 是一些可选参数,用于设置图形的属性。
  下面是一个示例,用于演示如何绘制条形图。
  import numpy as np
  import matplotlib.pyplot as plt
  # 生成随机数据
  np.random.seed(42)
  x = np.arange(1, 11)
  y = np.random.randint(1, 10, size=10)
  # 绘制条形图
  plt.bar(x, y, width=0.6, align="center", color="red", alpha=0.5)
  # 添加标签和标题
  plt.xticks(x, ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"])
  plt.xlabel("Category")
  plt.ylabel("Value")
  plt.title("Bar Chart")
  # 显示图形
  plt.show()
  在上述代码中,使用 bar 函数绘制了一个条形图,条形的高度和颜色都是随机生成的。然后使用 width、align、color、alpha 等属性设置函数改变了它们的样式。接着使用 xticks、xlabel、ylabel、title 等属性设置函数添加了标签和标题,最后调用 show 函数显示图形。
  绘制直方图
  在 Matplotlib 中,可以使用 hist 函数绘制直方图。hist 函数的基本语法如下:
  plt.hist(x, bins=None, range=None, density=False, cumulative=False, histtype="bar", align="mid", orientatinotallow="vertical", color=None, label=None, stacked=False, **kwargs)
  其中,x 表示直方图的数据,bins 表示直方图的分组数目,range 表示直方图的数据范围,density 表示是否将直方图归一化,cumulative 表示是否绘制累计分布图,histtype 表示直方图的类型,align 表示直方图的对齐方式,orientation 表示直方图的方向,color 表示直方图的颜色,label 表示直方图的标签,stacked 表示是否堆叠直方图,**kwargs 是一些可选参数,用于设置图形的属性。
  下面是一个示例,用于演示如何绘制直方图。
  import numpy as np
  import matplotlib.pyplot as plt
  # 生成随机数据
  np.random.seed(42)
  data = np.random.randn(1000)
  # 绘制直方图
  plt.hist(data, bins=20, density=True, alpha=0.5, color="red")
  # 添加标签和标题
  plt.xlabel("Value")
  plt.ylabel("Frequency")
  plt.title("Histogram")
  # 显示图形
  plt.show()
  在上述代码中,使用 hist 函数绘制了一个直方图,直方图的数据是随机生成的。然后使用 bins、density、alpha、color 等属性设置函数改变了它们的样式。接着使用 xlabel、ylabel、title 等属性设置函数添加了标签和标题,最后调用 show 函数显示图形。
  绘制饼图
  在 Matplotlib 中,可以使用 pie 函数绘制饼图。pie 函数的基本语法如下:
  plt.pie(x, explode=None, labels=None, colors=None, autopct=None, shadow=False, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, **kwargs)
  其中,x 表示饼图的数据,explode 表示饼图中每个扇形块是否分离出来,labels 表示饼图中每个扇形块的标签,colors 表示饼图中每个扇形块的颜色,autopct 表示饼图中每个扇形块的百分比,shadow 表示是否添加阴影效果,startangle 表示起始角度,radius 表示饼图的半径,counterclock 表示是否按逆时针方向绘制饼图,wedgeprops 表示扇形块的属性,textprops 表示文本标签的属性,center 表示饼图的中心位置,frame 表示是否显示图形边框,**kwargs 是一些可选参数,用于设置图形的属性。
  下面是一个示例,用于演示如何绘制饼图。
  import matplotlib.pyplot as plt
  # 设置数据
  labels = ["A", "B", "C", "D"]
  sizes = [15, 30, 45, 10]
  colors = ["red", "green", "blue", "yellow"]
  explode = (0, 0.1, 0, 0)
  # 绘制饼图
  plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct="%1.1f%%", shadow=True, startangle=90)
  # 添加标题
  plt.title("Pie Chart")
  # 显示图形
  plt.show()
  在上述代码中,使用 pie 函数绘制了一个饼图,饼图的数据、标签、颜色、分离程度等都是手动设置的。然后使用 autopct、shadow、startangle 等属性设置函数改变了它们的样式。最后调用 title 函数添加了标题,调用 show 函数显示图形。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号