【发布时间】:2022-11-13 22:00:44
【问题描述】:
我正在尝试可视化每个 X 值都有多个 Y 值的数据,我想区分每个 Y 值。这是示例代码
xLables = ['A1','A2','A3','A4','A5']
YValues = [[1,2,3,4],[1,2,3,4,5,6,7],[1,2,3],[5,6,7],[1,2,3]]
X = [xLables[i] for i, data in enumerate(YValues) for j in range(len(data))]
Y = [val for data in YValues for val in data]
plt.scatter(X, Y)
plt.grid()
plt.show()
当我绘制这个时,我附上了以下内容
每个 X 标签都有对应的 Y 值...例如:A1 有 1,2,3,4 ,A2 有 1,2,3,4,5,6,7 等等
我对此有两个问题
(1) 我可以为不同的 Y 值设置不同的标记吗?所有 1 都是星星,所有 2 都是菱形,所有 10 都是圆圈?
像这样的东西可能是
(2) 是否有更好的方法来绘制此类 2D 数据并在每个 X 具有多个 Y 值的情况下区分它们
非常感谢任何建议/帮助
谢谢
我尝试添加标记和不同的颜色,但它们适用于每个 X 的所有 Y 值 .. 但不是特定于每个 Y 值..
【问题讨论】:
-
Imo
Y值在没有标记的情况下被清楚地识别。通过它们在情节中的纵坐标。这就是散点图的目的。为什么你认为需要一个标记?
标签: python matplotlib plot scatter-plot