我想知道是否有一些優雅的方法可以根據條目的值在散點圖中設定離散顏色。對于一個完全簡化的示例:
x=np.arange(100)
plt.scatter(x,x,c=x,cmap='jet')
plt.show()

因此,假設我希望所有低于 40 的綠色值、40 到 60 之間的綠色值以及大于 60 的值都是紅色的。我知道我可以使用一些 if 陳述句創建一個回圈,這些陳述句根據這些條件生成一個串列,這樣我就有了類似colorlist=['blue','blue',.....].

我知道這行得通,但是有什么不同的方法嗎,或者這是最簡單的方法嗎?
uj5u.com熱心網友回復:
你可以這樣做:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors as mcol
cmap = mcol.ListedColormap(["blue","green","red"])
bounds = [0, 40, 60, 100]
norm = mcol.BoundaryNorm(bounds, cmap.N)
x=np.arange(100)
plt.scatter(x,x,c=x,cmap=cmap,norm=norm)
plt.show()

有關更多詳細資訊,請查看此處:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/495117.html
標籤:Python matplotlib
上一篇:如何讓日志刻度線朝內?
