我需要在matplotlib中繪製垂直散射圖,但我在matplotlib.org/examples或StackOverflow中找不到任何東西。如何僅使用matplotlib繪製垂直散射圖
我嘗試了一些我自己的東西,但我缺少抖動。對於具有相同(或非常相似)Y分量的點,抖動會稍微改變X分量,因此它們不會重疊。有什麼我可以使用或將不得不手動更改x組件?
import numpy as np
from matplotlib import pyplot as plt
x = np.array([1,2,3])
l = ['A','B','C']
a = np.array([2,2,3])
b = np.array([3,3,4])
c = np.array([7,7,5])
d = (np.array(a) + np.array(b) + np.array(c))/3
plt.subplot(111)
plt.margins(0.2)
plt.xticks(x,l)
plt.plot(x, a, 'ro', label='a')
plt.plot(x, b, 'ro', label='b')
plt.plot(x, c, 'ro', label='c')
plt.plot(x, d, 'k_', markersize=15, label='avg')
plt.tight_layout()
plt.savefig('vertical_scatter')
plt.close()
這給了我以下
我發現這對Seaborn。
這是我想要什麼,但只使用matplotlib。
我想建議你提到要「保持它只是matplotlib」你的問題。 –
是不是你的Matplotlib例子與預期的情節做同樣的事情? –
人們經常在不需要的情況下使用seaborn,但在這種情況下,它似乎絕對合適,@ YLuo現在刪除的答案實際上工作得很好。就目前而言,這回答了這個問題,我實際上很想回避這個問題。如果您不想使用seaborn,請在您的問題中明確說明您要使用什麼以及爲什麼。清楚說明你的意思是「抖動」。 – ImportanceOfBeingErnest