我有一個資料集,從中計算了一個值,該值已在顏色條中用于繪圖。見下文:

我試圖弄清楚如何組合它,以便在它上面繪制另一個引數(見下文:)

我希望將顏色添加到每個類的不同形狀中。
使用的一些代碼如下:
plt.figure(figsize=[12,10])
plt.scatter(x_offset1, y_offset1, s=2, c=index, cmap='jet', marker='.')
plt.scatter(x_offset2, y_offset2, s=2, c=index, cmap='jet', marker='^')
plt.scatter(x_offset3, y_offset3, s=2, c=index, cmap='jet', marker='v')
plt.scatter(x_offset4, y_offset4, s=2, c=index, cmap='jet', marker='x')
plt.colorbar()
這給出了錯誤:
ValueError: 'c' argument has 289 elements, which is inconsistent with 'x' and 'y' with size 3.
我知道 289 個元素是整個資料集的顏色資料,大小 3 是第一類圖的大小,但我不確定如何僅繪制 3 個點的顏色值。
uj5u.com熱心網友回復:
您正在尋找的是串列的一部分index。切片是這樣作業的:
slice = pizza[:2]
并以list[start:stop:step]. 因此,如果您的顏色從串列中的第一項變為第三項,那么您將執行以下操作:
plt.scatter(x_offset4, y_offset4, s=2, c=index[1:3], cmap='jet', marker='x')
假設index包含["a", "b", "c", "d"](僅作為示例),index[1:3]將回傳["a", "b", "c", "d"]. 此操作不會修改原始串列,所以index仍然會["a", "b", "c", "d"]在index[1:3].
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/441709.html
標籤:Python python-3.x matplotlib 散点图 值错误
上一篇:將值保存在單獨的列中
