Matplotlib中的箱线图示例
箱线图是一种常用的数据可视化方法,用于显示数据的分布情况、离散度、异常值等信息。在Matplotlib中,我们可以使用boxplot
函数来绘制箱线图。本文将详细介绍如何使用Matplotlib绘制箱线图,并给出一些示例代码。
示例代码1:简单的箱线图
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data)
plt.show()
Output:
这段代码将会绘制一个简单的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码2:多组数据的箱线图
import matplotlib.pyplot as plt
data1 = [1, 2, 3, 4, 5]
data2 = [5, 6, 7, 8, 9]
data3 = [3, 4, 5, 6, 7]
plt.boxplot([data1, data2, data3])
plt.show()
Output:
这段代码将会绘制包含三组数据的箱线图,每组数据分别为[1, 2, 3, 4, 5]
、[5, 6, 7, 8, 9]
和[3, 4, 5, 6, 7]
。
示例代码3:设置箱线图的颜色和样式
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, boxprops=dict(color="red", linestyle="--"))
plt.show()
Output:
这段代码将会绘制一个红色虚线框的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码4:水平箱线图
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, vert=False)
plt.show()
Output:
这段代码将会绘制一个水平排列的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码5:带有异常值的箱线图
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
plt.boxplot(data, showfliers=True)
plt.show()
Output:
这段代码将会绘制一个带有异常值的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
的分布情况。
示例代码6:隐藏箱线图中的箱体
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, showbox=False)
plt.show()
Output:
这段代码将会绘制一个只包含异常值的箱线图,不显示箱体,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码7:箱线图的横轴标签
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data)
plt.xticks([1], ['Label'])
plt.show()
Output:
这段代码将会在箱线图的横轴上添加一个自定义标签Label
。
示例代码8:更改箱线图的宽度
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, boxprops=dict(linewidth=2))
plt.show()
Output:
这段代码将会绘制一个较粗的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码9:箱线图的填充色
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, boxprops=dict(facecolor="skyblue"))
plt.show()
这段代码将会绘制一个蓝色填充的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码10:箱线图的横线颜色
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, whiskerprops=dict(color="green"))
plt.show()
Output:
这段代码将会绘制一个绿色的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码11:添加网格线
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data)
plt.grid(axis='y')
plt.show()
Output:
这段代码将会在箱线图中添加水平网格线。
示例代码12:填充异常值的颜色
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
plt.boxplot(data, flierprops=dict(markeredgecolor="red", markerfacecolor="yellow"))
plt.show()
Output:
这段代码将会绘制一个带有自定义异常值填充颜色的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
的分布情况。
示例代码13:调整箱线图中异常值的样式
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
plt.boxplot(data, flierprops=dict(marker='o', markersize=10, markerfacecolor="red"))
plt.show()
Output:
这段代码将会绘制一个带有自定义异常值样式的箱线图,显示数据[1, 2, 3, 4,```python
的分布情况。
5, 6, 7, 8, 9, 10, 20]
示例代码14:调整箱线图中异常值的大小
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
plt.boxplot(data, flierprops=dict(marker='x', markersize=15))
plt.show()
Output:
这段代码将会绘制一个带有不同大小的异常值的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
的分布情况。
示例代码15:同时调整异常值和箱线的样式
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
plt.boxplot(data, flierprops=dict(marker='s', markerfacecolor="purple", markersize=8),
boxprops=dict(color="orange", linestyle="--"))
plt.show()
Output:
这段代码将会绘制一个带有不同异常值和箱线样式的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
的分布情况。
示例代码16:自定义箱线图的线宽和颜色
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, meanprops=dict(color="red", linewidth=2), medianprops=dict(color="blue", linewidth=2))
plt.show()
Output:
这段代码将会绘制一个带有自定义线宽和颜色的中位数线和平均值线的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码17:调整箱线图的宽度、颜色和线型
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, boxprops=dict(linewidth=2, color="green", linestyle="dashdot"))
plt.show()
Output:
这段代码将会绘制一个带有自定义宽度、颜色和线型的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码18:调整箱线图的布局
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
plt.boxplot(data, positions=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
plt.show()
这段代码将会绘制一个自定义布局的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
的分布情况。
示例代码19:更改箱线图中异常值的标签
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
plt.boxplot(data, flierprops=dict(marker='o', markersize=10, markerfacecolor="red"), labels=['Data'])
plt.show()
Output:
这段代码将会绘制一个带有自定义异常值标签的箱线图,显示数据[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
的分布情况。
示例代码20:横向放置多组数据的箱线图
import matplotlib.pyplot as plt
data1 = [1, 2, 3, 4, 5]
data2 = [5, 6, 7, 8, 9]
data3 = [3, 4, 5, 6, 7]
plt.boxplot([data1, data2, data3], vert=False)
plt.show()
Output:
这段代码将会绘制一个横向排列的包含三组数据的箱线图,每组数据分别为[1, 2, 3, 4, 5]
、[5, 6, 7, 8, 9]
和[3, 4, 5, 6, 7]
。