我想绘制属于某些组的变量。假设我有6个变量,我想将它们分类到这3个组中并像维恩图一样绘制。我想将变量名注释到三个气泡中。在这个简单的例子中,我们可以说1个变量在第1组中,3个变量在第2组中,2个变量在第3组中。谁能帮我举一个简单的例子来说明如何在matplotlib中做到这一点? 最佳答案 matplotlib有一个漂亮的维恩图插件,名为matplotlib-venn.看起来它可以完全定制来做你想要的,从圆圈的大小(与设置的大小成比例)到内标签和外标签。使用网站上的示例代码给出如下图:编辑:根据下面的评论,以下代码使用相同的库提供了
在使用imshow时,我的颜色图一直存在问题,有些颜色似乎只是变黑了。我终于意识到imshow似乎默认情况下会标准化我给它的浮点值矩阵。我希望像[[0,0.25],[0.5,0.75]]这样的数组来显示map中的适当颜色,对应于这些绝对值,但0.75将是解释为1。在极端情况下,一个0.2的NxN数组(例如)只会产生一个大的黑色方block,而不是在颜色映射中期望0.2对应的任何东西(可能是20%的灰色))。有没有办法防止这种行为?当自定义颜色图有很多不连续性时尤其烦人,比例的微小变化可能会导致所有颜色完全改变。 最佳答案 只需指定v
在使用imshow时,我的颜色图一直存在问题,有些颜色似乎只是变黑了。我终于意识到imshow似乎默认情况下会标准化我给它的浮点值矩阵。我希望像[[0,0.25],[0.5,0.75]]这样的数组来显示map中的适当颜色,对应于这些绝对值,但0.75将是解释为1。在极端情况下,一个0.2的NxN数组(例如)只会产生一个大的黑色方block,而不是在颜色映射中期望0.2对应的任何东西(可能是20%的灰色))。有没有办法防止这种行为?当自定义颜色图有很多不连续性时尤其烦人,比例的微小变化可能会导致所有颜色完全改变。 最佳答案 只需指定v
对于下面的简单图,有没有办法让matplotlib填充图例,以便它从左到右填充行,而不是第一列然后第二列?>>>frompylabimport*>>>x=arange(-2*pi,2*pi,0.1)>>>plot(x,sin(x),label='Sine')>>>plot(x,cos(x),label='Cosine')>>>plot(x,arctan(x),label='Inversetan')>>>legend(loc=9,ncol=2)>>>grid('on') 最佳答案 我能想到一种可能的方法。您可以orderyourleg
对于下面的简单图,有没有办法让matplotlib填充图例,以便它从左到右填充行,而不是第一列然后第二列?>>>frompylabimport*>>>x=arange(-2*pi,2*pi,0.1)>>>plot(x,sin(x),label='Sine')>>>plot(x,cos(x),label='Cosine')>>>plot(x,arctan(x),label='Inversetan')>>>legend(loc=9,ncol=2)>>>grid('on') 最佳答案 我能想到一种可能的方法。您可以orderyourleg
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers无关.如果您认为该问题将成为anotherStackExchangesite上的主题,您可以发表评论,说明在哪里可以回答问题。关闭6年前。Improvethisquestionmatplotlibrc配置文件用于自定义matplotlib中的各种属性。可以更改rc设置以自定义默认参数,例如:matplotlib.r
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers无关.如果您认为该问题将成为anotherStackExchangesite上的主题,您可以发表评论,说明在哪里可以回答问题。关闭6年前。Improvethisquestionmatplotlibrc配置文件用于自定义matplotlib中的各种属性。可以更改rc设置以自定义默认参数,例如:matplotlib.r
我的函数有助于生成图形的一小部分。我正在尝试使用这些函数来生成多个数字?所以是这样的:使用图1做点别的事情使用图2做点别的事情使用图1做点别的事情使用图2如果有人能帮忙,那就太好了! 最佳答案 有几种方法可以做到这一点,最简单的是使用数字。下面的代码生成了两个数字#0和#1,每个数字有两行。#0点为1,2,3,4,5,6,#2点为10,20,30,40,50,60。frompylabimport*figure(0)plot([1,2,3])figure(1)plot([10,20,30])figure(0)plot([4,5,6])
我的函数有助于生成图形的一小部分。我正在尝试使用这些函数来生成多个数字?所以是这样的:使用图1做点别的事情使用图2做点别的事情使用图1做点别的事情使用图2如果有人能帮忙,那就太好了! 最佳答案 有几种方法可以做到这一点,最简单的是使用数字。下面的代码生成了两个数字#0和#1,每个数字有两行。#0点为1,2,3,4,5,6,#2点为10,20,30,40,50,60。frompylabimport*figure(0)plot([1,2,3])figure(1)plot([10,20,30])figure(0)plot([4,5,6])
我正在使用以下方法制作堆积条形图:DataFrame.plot(kind='bar',stacked=True)我想控制条形的宽度,使条形像直方图一样相互连接。我查看了文档但无济于事-有什么建议吗?这样可以吗? 最佳答案 对于遇到此问题的任何人:从pandas0.14开始,用条形图绘制有一个“宽度”命令:https://github.com/pydata/pandas/pull/6644上面的例子现在可以简单地通过使用来解决df.plot(kind='bar',stacked=True,width=1)见pandas.DataFra