有沒有辦法根據放置給定值的直方圖箱對散點圖示記進行著色?具有以下示例資料:
df = pd.DataFrame({
'length': [1.5, 0.5, 1.2, 0.9, 3],
'width': [0.7, 0.2, 0.15, 0.2, 1.1],
'price': [12, 9, 2, 1, 10]})
我可以使用 列印直方圖和hist = df.hist(bins=3, column='price')散點圖df.scatter.plot(x='length', y='width')。
但我想不出一種方法來結合這兩個指令。我希望看到的是在散點圖上有 3 種顏色,并且顏色將根據給定值適合的 bin 分配。知道如何實作嗎?
uj5u.com熱心網友回復:
以下方法首先創建具有 3 種顏色的顏色圖,并使用價格列定義顏色。散點圖將添加一個顏色條,指示顏色和價格之間的關系。
import matplotlib.pyplot as plt
import pandas as pd`
import numpy as np
df = pd.DataFrame({
'length': [1.5, 0.5, 1.2, 0.9, 3],
'width': [0.7, 0.2, 0.15, 0.2, 1.1],
'price': [12, 9, 2, 1, 10]})
num_colors = 3
cmap = plt.get_cmap('rainbow', num_colors)
df.plot.scatter(x='length', y='width', c='price', cmap=cmap)
plt.tight_layout()
plt.show()

PS:如果要指示價格邊界,可以將這些添加為顏色條刻度:
ax = df.plot.scatter(x='length', y='width', c='price', cmap=cmap)
ax.collections[0].colorbar.set_ticks(np.linspace(df['price'].min(), df['price'].max(), num_colors 1))

uj5u.com熱心網友回復:
直方圖只是取值的范圍,并將其分成大小相等的 bin。
您可以通過使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428695.html
下一篇:使用迭代更改熊貓資料框中的值
