1
我已經從我使用的數據和plt.plot()創建了一個散點圖,並且想知道是否有一種簡單的方法來根據顏色點在x軸上?如果它們位於x0和x1之間使它們變成綠色,則x1和x2會使它們變成藍色等等。任何幫助?乾杯Matplotlib不同的顏色點取決於x的範圍
我已經從我使用的數據和plt.plot()創建了一個散點圖,並且想知道是否有一種簡單的方法來根據顏色點在x軸上?如果它們位於x0和x1之間使它們變成綠色,則x1和x2會使它們變成藍色等等。任何幫助?乾杯Matplotlib不同的顏色點取決於x的範圍
你可以使用plt.scatter
:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style("white")
x, y = np.random.multivariate_normal([0, 0], [(1, .5), (.5, 1)], 200).T
c = np.where(x < 0, "#27ae60", "#2980b9")
plt.scatter(x, y, 30, c)
sns.despine()
我不明白如何適用於我的情況。我錯了,它是plt.semilogx()我用來繪製圖。 – user3361147
如果您致力於使用'plt.plot'(其中'semilogx'在幕後使用),則必須分別存儲數據並繪製每個垃圾箱。使用'scatter',您可以爲每個點傳遞一組顏色。對於你的情況,你可以在用'scatter'繪圖之前做'ax.set_xscale(「log」)'。 – mwaskom
我還在爲此苦苦掙扎。散點圖()中的30是什麼?我需要「#27ae60」,「#2980b9」這些位,還是我可以擺脫它們? – user3361147