2017-01-10 60 views
-4

我想創建從x和y具有以下功能的散點圖:的Python散點圖與可變標記的顏色和大小,再加上一個圖例

  • 標記大小可變(根據一個值z的是 對應於對(x,y))
  • 標記顏色變量(根據與對(x,y)對應的類別c)
  • 包括一個圖例,顯示c的不同值以及它們如何匹配一種顏色

我已經找到了很多關於如何將這3個要求中的兩個結合起來的答案。但是,我沒有看到它們都是共同執行的,既不在seaborn也不在matplotlib上。

回答

2
  • 您使用s kwarg設置標記尺寸爲ax.scatter

  • 您使用c kwarg設置標記顏色爲ax.scatter

  • 您可以添加colorbar以顯示如何將顏色映射到c陣列。

例如:

import numpy as np 
import matplotlib.pyplot as plt 

fig, ax = plt.subplots(1) 

# Some fake data 
X, Y = np.meshgrid(np.arange(0.5, 10), np.arange(0.5, 10)) 
X = X.flatten() 
Y = Y.flatten() 
c = np.random.rand(X.size) 
z = np.random.rand(X.size)*100 

# Plot using scatter. Color use 'c' kwarg. Set size using 's' kwarg. 
p = ax.scatter(X, Y, c=c, s=z, cmap='viridis', vmin=0, vmax=1) 

# Add a colorbar 
fig.colorbar(p) 

plt.show() 

enter image description here

+0

關閉,但顏色一個明確的基礎,而不是一個連續的值上。 –

+0

是你的'c'數組值還是文本標籤? – tom

+0

他們是文字標籤。 –

相關問題