小编use*_*884的帖子

ticklabel_format坏了吗?

我试图绘制一个简单的时间序列,以x轴为单位.不幸的是,pyplot似乎认为这些数字应该以科学格式显示.我已经看到有关Stack Overflow的建议,可以通过以下方式更改此行为:

plt.gca().ticklabel_format(style='plain', axis='x')
Run Code Online (Sandbox Code Playgroud)

甚至只是

plt.ticklabel_format(style='plain', axis='x')
Run Code Online (Sandbox Code Playgroud)

应该是要走的路.令我惊讶的是,我发现这对我的系统完全没有任何意义.它没有效果,但也没有触发任何错误.这是什么交易?我知道我可以设置标签字符串,但显然这不是它应该如何工作.由于我找不到任何关于这个bug的提及,我想检查这是否是一个常见问题.

我在Linux上运行python 2.7.

编辑:

这基本上就是我正在使用的代码.除了实际从文本文件中读取值.

labels = ['1989', '1990', '1991', '1992', '1993', '1994', '1995', '1996', '1997', '1998']
years = [1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998]
values = [1.4, 2.3, 4.2, 3.2, 1.2, 3.6, 9.8, 10.2, 6.1, 3.2]

plt.plot(years, values, label='Random Data')
plt.autoscale(tight=True)
plt.title('Plot of some random data')
plt.legend(loc=0)
plt.ylabel('[some unit]')
plt.xlabel('year')

plt.ticklabel_format(style='plain', axis='x') # this should work but doesn't

plt.xticks(range(1989, 1989 + len(years)), labels) # this works but is …
Run Code Online (Sandbox Code Playgroud)

matplotlib python-2.7

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

密码验证会破坏设计确认

我正在使用设计来管理我的应用程序的用户帐户.到目前为止,一切都工作得很好,但我偶然发现了我发现的非常奇怪的行为.基本上发生了什么,我将以下代码添加到我的用户模型:

validates :password, { confirmation: true, length: { in: 6..20 } } 
validates :username, { uniqueness: true, length: { in: 3..25 } }
Run Code Online (Sandbox Code Playgroud)

乍一看,这似乎工作得很好.未能输入有效信息将使用户信息不会保存到数据库中.不幸的是,它以某种方式破坏了设计的电子邮件确认.Devise仍会在注册时发送电子邮件,但确认链接不像以前那样工作.突然发生的事情是他将我发送到我可以重新请求确认信息的页面(尽管根本没有被告知这样做).他还抱怨(通过flash消息)我的密码不能为"空白"并且用户尚未保存.这是没有意义的,因为在甚至点击确认链接之前已经保存了用户(具有有效的pw).实际上它确实得到了保存,因为我发现手动检查数据库表.

我从中收集到的是他可能正在尝试更改用户表中的某些列,如confirmed_email和confirmed_at等.但不知何故,他也试图同时提供一个新的pw,这绝对不是他应该做的.为什么他将我重定向到我可以重新发送确认邮件的页面也完全超出了我的范围.

我该怎么做才能解决我的问题?我不想使用:validatable,而是在不完全破坏我的设计的情况下进行自己的验证.这是一些额外的信息:

rails 3.2.12
ruby 1.9.3p392 devise 2.2.3

日志:

开始获取"/ users/confirmation?confirmation_token = ojx35QawQdHSWi655mru"for 127.0.0.1 at 2013-06-20 17:01:12 +0200由Devise处理:: ConfirmationsController #show as HTML参数:{"confirmation_token"=>"ojx35QawQdHSWi655mru"用户负载(0.3ms)SELECT"users".*FROM"users"WHERE"users"."confirmation_token"='ojx35QawQdHSWi655mru'LIMIT 1(0.1ms)BEGIN User Exists(0.2ms)SELECT 1 AS one FROM"users" WHERE("用户"."用户名"="哎呀"和"用户"."id"!= 22)LIMIT 1(0.1ms)ROLLBACK渲染设计/共享/ _links.erb(0.4ms)渲染设计/确认布局/应用程序内的/new.html.erb(2.1ms)在14ms内完成200 OK(浏览次数:9.0ms | ActiveRecord:0.8ms)

ruby ruby-on-rails confirmation devise

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