我花了很长时间研究如何让两个子图共享相同的y轴,并在Matplotlib中共享两个单色条.
正在发生的事情是,当我打电话给colorbar()在任一功能subplot1或者subplot2,它会自动缩放的情节使得彩条加的情节会适合进入"插曲"包围盒内部,造成两个并排侧地块是两个非常不同的大小.
为了解决这个问题,我尝试创建了第三个子图,然后我将其修改为不存在只有一个颜色条存在的图.唯一的问题是,现在这两个地块的高度和宽度是不均匀的,我无法弄清楚如何使它看起来没问题.
这是我的代码:
from __future__ import division
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import patches
from matplotlib.ticker import NullFormatter
# SIS Functions
TE = 1 # Einstein radius
g1 = lambda x,y: (TE/2) * (y**2-x**2)/((x**2+y**2)**(3/2))
g2 = lambda x,y: -1*TE*x*y / ((x**2+y**2)**(3/2))
kappa = lambda x,y: TE / (2*np.sqrt(x**2+y**2))
coords = np.linspace(-2,2,400)
X,Y = np.meshgrid(coords,coords)
g1out = g1(X,Y)
g2out = g2(X,Y)
kappaout = kappa(X,Y)
for i in range(len(coords)):
for …Run Code Online (Sandbox Code Playgroud) 如果我尝试使用.ps/.eps扩展名保存它们,我在尝试使用透明椭圆体保存一些图时遇到问题.
这是保存为.png的情节:

如果我选择将其保存为.ps/.eps,这就是它的样子:

我是如何解决这个问题的,是使用ImageMagick将原始png转换为ps.唯一的问题是png格式的图像大约是90k,转换后它变得不到4M.这不好,因为我有很多这些图像,编辑我的乳胶文件需要太多时间.有人有解决方案吗?
我正在尝试使用matplotlib中的错误栏创建散点图.以下是我的代码的示例:
import matplotlib.pyplot as plt
import numpy as np
import random
x = np.linspace(1,2,10)
y = np.linspace(2,3,10)
err = [random.uniform(0,1) for i in range(10)]
plt.errorbar(x, y,
yerr=err,
marker='o',
color='k',
ecolor='k',
markerfacecolor='g',
label="series 2",
capsize=5,
linestyle='None')
plt.show()
Run Code Online (Sandbox Code Playgroud)
问题是输出的图表根本没有上限! 
对于它的价值,我在Ubuntu 13.04,Python的2.7.5 |蟒蛇1.6.1(64位)|,和Matplotlib 1.2.1.
这可能是一个需要被覆盖的隐藏的rcparam吗?
当我尝试使用numpy的loadtxt函数从CSV文件导入数据时,我遇到了一个小问题.这是我拥有的数据文件类型的示例.
称之为'datafile1.csv':
# Comment 1
# Comment 2
x,y,z
1,2,3
4,5,6
7,8,9
...
...
# End of File Comment
Run Code Online (Sandbox Code Playgroud)
我认为适用于这种情况的脚本如下:
import numpy as np
FH = np.loadtxt('datafile1.csv',comments='#',delimiter=',',skiprows=1)
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个错误:
ValueError: could not convert string to float: x
Run Code Online (Sandbox Code Playgroud)
这告诉我,kwarg'skiprows'没有跳过标题,它正在跳过第一行评论.我可以简单地确保skiprows = 3,但复杂的是我有非常多的文件,并不是所有文件顶部都必须有相同数量的注释行.我怎样才能确保当我使用loadtxt时,我只是在这样的情况下得到实际数据?
PS - 我也对bash解决方案持开放态度.
我一直在寻找scipy和sklearn来解决我遇到的特定问题的聚类算法.我需要某种方法将N个粒子的特征表征为k个组,其中k不一定是已知的,除此之外,没有先验的链接长度是已知的(类似于这个问题).
我已经尝试了kmeans,如果你知道你想要多少个簇,那么效果很好.我已经尝试过dbscan,除非你告诉它一个特征性的长度尺度来停止寻找(或开始寻找)群集,否则它会很糟糕.问题是,我可能有成千上万的这些粒子簇,我不能花时间告诉kmeans/dbscan算法他们应该做些什么.
以下是dbscan找到的示例:

你可以看到这里确实存在两个不同的种群,虽然调整了epsilon因子(相邻簇参数之间的最大距离),但我根本无法看到这两个粒子群.
有没有其他算法可以在这里工作?我预先寻找最少的信息 - 换句话说,我希望算法能够做出关于什么可能构成单独集群的"智能"决策.
我有一个庞大的散点图(~100,000点),我在matplotlib中生成.每个点在此x/y空间中都有一个位置,我想生成包含总点数的某些百分位数的轮廓.
matplotlib中是否有一个函数可以执行此操作?我已经研究过contour(),但是我必须用这种方式编写自己的函数.
谢谢!
我有一个关于我用两个numpy矩阵意外执行的操作结果的问题(后来修复了).
假设我有一个列向量,A = [1,2,3],行向量B = [1,1,1].据我所知,没有正确的数学方法来"减去"这两个向量,即这应该是一个未定义的操作.但是,当我这样做时,我会回来:
>>> matrix([[0, 1, 2],
[0, 1, 2],
[0, 1, 2]])
Run Code Online (Sandbox Code Playgroud)
我认为这可能是某种广播操作,但这仍然让我感到麻烦.numpy.matrix对象不应只包含数学上有效的矩阵运算吗?
任何帮助表示赞赏!
谢谢!
我正在学习ImageMagick.我想在使用命令后创建(使用ImageMagick)一系列图像
convert -delay 0 -loop 0 frame*.gif final.gif
Run Code Online (Sandbox Code Playgroud)
给出结果就像附加的GIF动画一样.

我想自己编写一系列命令,但我需要一个提示,哪些效果和绘图指令会给我最相似的结果,所以我正在寻找类似的东西:
但是,可能上述还不够.
这个问题是否很模糊,或者有人能给我一个暗示吗?
我在尝试将 R 中的“fpc”包安装在 Ubuntu 13.04 上时遇到了特别困难。
我写的代码包含这样一行:
install.packages('fpc') ; library(fpc)
Run Code Online (Sandbox Code Playgroud)
给出输出:
Error in contrib.url(repos, type) :
trying to use CRAN without setting a mirror
Calls: install.packages -> grep -> contrib.url
Execution halted
Run Code Online (Sandbox Code Playgroud)
我还没有弄乱 .Rprofile 文件,谷歌搜索这个问题表明这可能是原因(https://stat.ethz.ch/pipermail/r-devel/2009-October/055136.html) -这里的回应非常神秘(我从这个链接中了解到的是我可能没有设置镜像)。
无论如何,我已经从 apt-get 下载了所有软件包:
sudo apt-get install r-cran-*
Run Code Online (Sandbox Code Playgroud)
到目前为止还没有解决问题。有什么建议么??
谢谢!
我试图在我的 Mac (OS X 10.8.4) 上安装“bigfloat”包,但遇到了一些问题。包“bigfloat”需要另外两个依赖项:1) mpfr 和 2) gmp。
我在这里安装了 gmp: http: //gmplib.org/ <-- 这似乎工作正常。
但安装 mpfr 并不那么容易(http://www.mpfr.org/mpfr-current/mpfr.html#Installing-MPFR)。他们说只需 ./configure、make 和 make install 即可使其运行,但我收到此错误:
checking for gmp.h... no
configure: error: gmp.h can't be found, or is unusable.
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了一下,人们建议在配置命令中指定路径,但到目前为止我还没有运气。任何帮助,将不胜感激!
作为参考,我正在查看 mpfr-3.1.2 (位于目录:/Users/myusername)和 gmp-5.1.2 (位于同一目录)。
谢谢!