小编Hom*_*lli的帖子

matplotlib图表 - 创建水平条形图

我在以下片段中偶然发现,使用matplotlib创建水平条形图:

import matplotlib
from pylab import *

val = 3+10*rand(5)    # the bar lengths
pos = arange(5)+.5    # the bar centers on the y axis
print pos
figure(1)
barh(pos,val, align='center')
yticks(pos, ('Tom', 'Dick', 'Harry', 'Slim', 'Jim'))
xlabel('Performance')
title('horizontal bar chart using matplotlib')
grid(True)
show()
Run Code Online (Sandbox Code Playgroud)

我想修改上面的脚本如下:

  1. 使绘制的条纹"不那么粗糙"(即降低绘制的水平条的高度)
  2. 将负数和正数绘制为同一图上的水平条

任何帮助(代码片段或链接),以帮助我进行上述修改将非常有帮助.

顺便说一句,如果我想制作堆叠的水平条(比如每个标签有3个堆叠的水平条),我如何修改上面的代码来绘制3个堆叠的水平条形图?

[[编辑]]

有人可以发布两个简短的代码片段,显示如何:

  1. 在水平条的另一侧打印标签(例如,第一个隔离区中出现"负"条的标签,第二个象限中出现"正"条的标签

  2. 绘制多个(比如说2或3个)水平条(而不是一个).很好的例子是这里显示前两个图像

python matplotlib

14
推荐指数
2
解决办法
3万
查看次数

postgresql:在指定位置创建数据库

我正在尝试在指定位置创建PG数据库.根据这里的文档,我必须使用LOCATION标志.但是,当我跑步时CREATE DATABASE (from the pgsql CLI),我收到以下警告:

WARNING:  LOCATION is not supported anymore
HINT:  Consider using tablespaces instead.
Run Code Online (Sandbox Code Playgroud)

但是,TABLESPACES上的PG文档未显示如何使用它在特定目录中创建数据库.执行此操作所需的语法是什么?

postgresql

13
推荐指数
1
解决办法
9821
查看次数

matplotlib:使用SHARED X轴创建两个(堆叠的)子图,但使用SEPARATE Y轴值

我在Ubuntu 10.0.4上使用matplotlib 1.2.x和Python 2.6.5.我正在尝试创建一个由顶部图和底部图组成的单个图.

X轴是时间序列的日期.顶部图包含数据的烛台图,底部图应包含条形图 - 具有自己的Y轴(也在左侧 - 与顶部图相同).这两个图不应该重叠.

这是我到目前为止所做的一小部分.

datafile = r'/var/tmp/trz12.csv'
r = mlab.csv2rec(datafile, delimiter=',', names=('dt', 'op', 'hi', 'lo', 'cl', 'vol', 'oi'))

mask = (r["dt"] >= datetime.date(startdate)) & (r["dt"] <= datetime.date(enddate))
selected = r[mask]
plotdata = zip(date2num(selected['dt']), selected['op'], selected['cl'], selected['hi'], selected['lo'], selected['vol'], selected['oi'])

# Setup charting 
mondays = WeekdayLocator(MONDAY)        # major ticks on the mondays
alldays    = DayLocator()               # minor ticks on the days
weekFormatter = DateFormatter('%b %d')  # Eg, Jan 12
dayFormatter = DateFormatter('%d')      # Eg, 12 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

13
推荐指数
2
解决办法
2万
查看次数

如何在不迭代元素的情况下检查字符串是否在数组中?

有没有办法检查一个字符串数组中是否存在字符串 - 没有遍历数组?

例如,给定下面的脚本,我如何正确地实现它来测试存储在变量$ test中的值是否存在于$ array中?

array=('hello' 'world' 'my' 'name' 'is' 'perseus')

#pseudo code
$test='henry'
if [$array[$test]]
   then
      do something
   else
      something else
fi
Run Code Online (Sandbox Code Playgroud)

注意

我正在使用bash 4.1.5

bash

12
推荐指数
2
解决办法
3万
查看次数

在emscripten中更改默认命名空间"Module"

我正在使用emscripten为某些库提供Javascript绑定.Emsripten将代码打包到名称空间(global var)中,称为"模块".

我想更改命名,以便我可以使用反映库所用内容的名称,并且还可以防止变量名称冲突,因为我为其他库编写了绑定.

我在文档中找不到任何地方,它显示了如何执行此操作.有谁知道如何更改emscripten使用的默认命名空间?

javascript emscripten

12
推荐指数
1
解决办法
1861
查看次数

跨请求检索和保持状态

我正在编写我的第一个ASP.NET Web API应用程序.我熟悉其他Web应用程序框架(主要是Symfony,但也有Django,在较小程度上是RoR).

我正在苦苦挣扎,以了解从浏览器/前端客户端向Web服务器发送请求后发生的事件序列.

我正在编写一个使用数据库后端的多租户应用程序.我使用ADO和原始SQL来访问数据库,我还需要为每个用户存储大量信息,因此基本上,我为用户创建(或从缓存中获取)预加载的上下文.

这里有一些伪代码,它说明了我在ASP.NET中想要实现的目标.

namespace myApp.Controllers
{
    public class FoobarController : ApiController
    {
        public Response doLogin(request)
        {
             var ctx = myApplicationContext.getInstance();
             var user = ctx.getUser();     

             if (!user.isLoggedOn())
             {
                 username = request.getParameter('username');
                 password= request.getParameter('password');

                 dbManager = ctx.getDbInstance();

                 resp = dbManager.internalLogin(username, password);

                 // Load permissions etc for current user, from db
                 // Store user info in cache ..
             }
        }       

        public Response ActionOne(request)
        {
             ctx = myApplicationContext.getInstance();
             user = ctx.getUser();

             if (user.hasPermission('xxx'))
             {

             }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我该如何实现这种功能:

即:

  • 创建一个应用程序上下文,我可以在其中填充上下文敏感信息,如数据库连接,邮件程序配置,对象工厂,各种状态信息等. …

asp.net asp.net-web-api asp.net-web-api2

12
推荐指数
1
解决办法
194
查看次数

从Symfony 1.4到Symfony 2.0需要付出努力

我有一个用Symfony 1.4编写的网站.这是我的第一个symfony网站,学习曲线对我来说有点陡峭.这是一个相当复杂的网站,如果没有破坏,我不想"修复它".

话虽如此,由于sf 1.4现在是遗留代码,我最终希望将网站移植到sf 2.0.事实上,我将在明年年初重新启动该网站,我想知道我是否也可以咬紧牙关,一次性将网站从1.4端口"移植"到2.0.

所以,我需要知道以下答案:

  1. 我从1.4中已经知道多少适用于2.0?
  2. 是否有任何jobeet或askeet类型的教程,展示如何使用sf框架构建整个应用程序?
  3. 我是疯了,想在一个多月内有效地移植一个大型网站(只工作一段时间?) - 即"大爆炸"方法是最明智/唯一的方法吗?

symfony1 symfony-1.4 symfony

11
推荐指数
2
解决办法
3473
查看次数

C宏可以包含临时变量吗?

我有一个我需要宏功能的功能.该函数包含临时变量,我不记得是否有关于在宏替换中使用临时变量的规则.

long fooAlloc(struct foo *f, long size)
{
   long      i1, i2;
   double   *data[7];

   /* do something */
   return 42;
}
Run Code Online (Sandbox Code Playgroud)

MACRO表格:

#define ALLOC_FOO(f, size) \
{\
   long      i1, i2;\
   double   *data[7];\
\
   /* do something */ \
}
Run Code Online (Sandbox Code Playgroud)

这个可以吗?(即没有令人讨厌的副作用 - 除了通常的那些:不是"类型安全"等).顺便说一句,我知道"宏是邪恶的" - 在这种情况下我只需要使用它 - 没有多少选择.

c c-preprocessor

11
推荐指数
4
解决办法
2万
查看次数

matplotlib交互式图形(在图形上手动绘制线条)

我使用matplotlib成功绘制了一组日期排序数据(X轴是日期).但是,我希望能够在绘制的图形上手动从一个(date1,y1)到另一个(date2,y2)绘制线条.

我似乎无法找到任何显示如何做到这一点的例子 - 或者确实如果它是可行的.

总而言之,这就是我想要做的:

  1. 在绘制的图形上绘制一组线条
  2. 将手动绘制的行数据保存到文件
  3. 从文件加载手动绘制的行数据(以重新创建图形)
  4. 理想情况下,我想存储关于绘制线条的"元数据"(例如颜色,线宽等)

有人可以发布一个骨架片段(最好带有更多信息的链接),以显示我如何开始实现这一点(主要要求是能够在图形上手动绘制线条,然后将线条保存/加载到绘图中).

注意:通过'手动',我的意思是能够通过单击一个点来绘制线条,然后单击绘制图形中的另一个点.在两点之间画一条线(或者只是点击一个点并在绘制的图形上的另一个点拖动并释放鼠标)

[[更新]]

dawe,非常感谢你提供的代码片段.这允许我做我想做的事情 - 但是,一旦在画布上绘制线条(在第二次鼠标点击之后),GUI崩溃并且我在控制台上收到此警告消息:

/usr/local/lib/python2.6/dist-packages/matplotlib/backend_bases.py:2192: DeprecationWarning: Using default event loop until function specific to this GUI is implemented
  warnings.warn(str,DeprecationWarning)
Run Code Online (Sandbox Code Playgroud)

你知道是什么导致了这个警告和突然的程序终止吗?

此外,是否可以在图表上绘制多条线?(我猜这将涉及编写某种事件处理程序,它将实例化一个linedrawer变量).目前,在'app'突然终止之前,我有机会只画一行.

python matplotlib

11
推荐指数
1
解决办法
9906
查看次数

mono:在Linux上的命令行中构建.Net解决方案

我最近在我的Linux机器上安装了mono,以便能够在更熟悉的环境中进行一些.Net编程.

我试图从命令行构建一个解决方案,而不必激发繁重的monodevelop.在Windows上,这可以使用Msbuild.exe完成.我似乎无法使用单声道工具找到该文件.

最近的是mdtool(如果我理解的话)用于构建单个项目而不是整个解决方案).

如何使用mono在Linux上从命令行构建整个解决方案

顺便说一下,我正在运行Ubuntu 10.0.4

.net ubuntu mono

10
推荐指数
1
解决办法
2万
查看次数