我正在尝试绘制一个包含正数和负数的矩阵。数字将在-1到1的区间内,但不在完整范围内。例如,数字有时可能在-0.2到+0.8的范围内(参见下面的代码)。我想使用bwr-colormap(蓝色->白色-红色),这样零总是用白色进行颜色编码。-1应该用尽可能深的蓝色进行颜色编码,+1应该用尽可能深的红色进行颜色编码。下面是一个示例,其中两个图只能通过颜色条来区分。importnumpyfrommatplotlibimportpyplotasplt#somearbitrarydatatoplotx=numpy.linspace(0,2*numpy.pi,30)y=numpy.linspace(
有人知道检测图像中主要颜色的快速算法吗?我目前正在使用k-means与Python的PIL一起查找颜色,但速度非常慢。处理一张200x200的图像需要10秒。我有几十万张图片。 最佳答案 一种快速的方法是将颜色空间简单地划分为bin,然后构建直方图。它速度很快,因为每个像素只需要少量决策,并且只需要一次遍历图像(一次遍历直方图以找到最大值)。更新:这里有一个粗略的图表来帮助解释我的意思。x轴上的颜色分为离散的bin。y轴显示每个bin的值,即与该bin的颜色范围匹配的像素数。此图像中有两种主要颜色,由两个峰显示。
我正在尝试更改MacOSX上Tkinter文本小部件中选定文本的默认背景颜色当小部件没有焦点时。默认的未聚焦选择颜色是灰色。经过几个小时的搜索,我无法找到一个开箱即用的解决方案来做到这一点。这是我尝试过的:使用selectbackground选项更改选择颜色不会在小部件未获得焦点时更改选择颜色。例如。它保持灰色。Text.tag_configure("sel",background=...)也没有在"!focus"状态下使用ttk.Style.map适用于Entry小部件(和其他),但不适用于Text小部件。所以我不得不自己动手(见下文)。有更好的方法吗?importTkinteras
最近我从CIAworldfactbook下载了一些标志.现在我想对它们进行“分类”。获取颜色获取一些形状(星星、月亮等)在浏览时,我遇到了Python图像库,它允许我提取颜色(即Austria:#!/usr/bin/envpythonimportImagebild=Image.open("au-lgflag.gif").convert("RGB")bild.getcolors()[(44748,(255,255,255)),(452,(236,145,146)),(653,(191,147,149)),...)]我在这里发现奇怪的是,奥地利国旗只有两种颜色,但上面的输出显示了十多种。你
我正在使用Python2'scmdmodule为程序制作命令行。只要我不为我的提示添加颜色,一切都很好。工作代码:fromcmdimportCmdclassApp(Cmd):def__init__(self):Cmd.__init__(self)self.prompt="PG["+(str('username'),'green')+"@"+str('hostname')+"]:"defdo_exit(self,line):''''''returnTrueApp().cmdloop()当我如下更改我的代码时,如果我输入一个长命令或尝试在命令历史记录中搜索,一些字符会坚持我的提示。问题代码
axes.color_cycle在Matplotlib1.5中被弃用。然而它的用法非常简单:我们可以通过以下方式轻松获取特定颜色:plt.rcParams['axes.color_cycle'][color_number]axes.prop_cycle不支持这种语法:ValueError:CanonlyusesliceswithCycler.__getitem__而且cyclerdoc不是很详细http://matplotlib.org/cycler/所以我不知道如何从prop_cycle中获取特定颜色。任何想法?谢谢 最佳答案 获
我需要获取屏幕上或事件窗口中某些像素的颜色,而且我需要快速。我试过使用win32gui和ctypes/windll,但它们太慢了。这些程序中的每一个都获得100像素的颜色:importwin32guiimporttimetime.clock()foryinrange(0,100,10):forxinrange(0,100,10):color=win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()),x,y)print(time.clock())和fromctypesimportwindllimporttimetime.cl
我想用Python改变一种颜色。如果存在使用PIL的快速解决方案,我会更喜欢此解决方案。目前,我使用convert-backgroundblack-opaque'#939393'MyImage.pngMyImage.png 最佳答案 如果numpy在您的机器上可用,请尝试执行以下操作:importnumpyasnpfromPILimportImageim=Image.open('fig1.png')data=np.array(im)r1,g1,b1=0,0,0#Originalvaluer2,g2,b2=255,255,255#Va
我有以下数据(四个等长数组):a=[1,4,5,2,8,9,4,6,1,0,6]b=[4,7,8,3,0,9,6,2,3,6,7]c=[9,0,7,6,5,6,3,4,1,2,2]d=[La,Lb,Av,Ac,Av,By,Lh,By,Lg,Ac,Bt]我正在制作数组a、b、c的3d图:importpylabimportmatplotlib.pyplotaspltfig=plt.figure()ax=fig.add_subplot(111,projection='3d')ax.scatter(a,b,c)plt.show()现在,我想使用名为“d”的数组为这些分散的点着色这样;如果d中对
假设我在Matplotlib中有一种颜色。也许它是一个字符串('k')或一个rgb元组((0.5,0.1,0.8))或者甚至是一些十六进制(#05FA2B).Matplotlib中是否有一个命令/便利函数可以让我加深(或变亮)那种颜色。即有没有matplotlib.pyplot.darken(c,0.1)之类的东西?我想我希望的是在幕后采用一种颜色,将其转换为HSL,然后将L值乘以某个给定因子(下限为0,上限为1)或明确设置Lvalue为给定值并返回修改后的颜色。 最佳答案 这是来自mygist的函数使我认为适用于matplotli