如何用Matplotlib绘制指定X轴刻度的散点图(实际需箱线图)
基于给定数据集绘制箱线图(含原散点图需求实现)
先整理你的数据集:
a1 = [81, 42, 73, 94, 85, 66] a2 = [63, 55, 79, 65, 94, 76] a3 = [3, 5, 4, 8, 7, 6] data = [a1, a2, a3] labels = ['a1', 'a2', 'a3']
绘制箱线图
用Matplotlib可以快速实现你需要的箱线图,代码如下:
import matplotlib.pyplot as plt plt.figure(figsize=(8, 6)) # 传入数据集和X轴标签 plt.boxplot(data, labels=labels) plt.ylabel('数值') plt.title('a1、a2、a3数据集箱线图') # 添加Y轴网格线提升可读性 plt.grid(axis='y', linestyle='--', alpha=0.7) plt.show()
这段代码生成的箱线图会展示每个数据集的中位数、上下四分位数、极值等统计特征,能直观对比三组数据的分布差异。
原散点图需求实现(参考)
如果你需要验证最初的散点图需求,这里提供实现代码:
import matplotlib.pyplot as plt plt.figure(figsize=(8, 6)) x_positions = [1, 2, 3] # 对应a1、a2、a3的X轴位置 for x, arr in zip(x_positions, data): # 给同组数据点添加微小X偏移,避免点重叠 point_offsets = [x + 0.05 * (i - 2.5) for i in range(len(arr))] plt.scatter(point_offsets, arr, color='steelblue', alpha=0.7) # 设置X轴刻度 plt.xticks(x_positions, labels) plt.ylabel('数值') plt.title('a1、a2、a3数据集散点图') plt.grid(axis='y', linestyle='--', alpha=0.7) plt.show()
通过给每个点添加微小偏移,能避免同一X刻度下的点完全重叠,更清晰展示每个数据点的位置。
内容的提问来源于stack exchange,提问作者Katono
相关产品推荐
相关产品推荐

