小编zeh*_*ron的帖子

matplotlib:如何防止x轴标签相互重叠

我正在用matplotlib生成一个条形图.这一切都很好但我无法弄清楚如何防止x轴的标签相互重叠.这是一个例子:
在此输入图像描述

以下是postgres 9.1数据库的一些示例SQL:

drop table if exists mytable;
create table mytable(id bigint, version smallint, date_from timestamp without time zone);
insert into mytable(id, version, date_from) values

('4084036', '1', '2006-12-22 22:46:35'),
('4084938', '1', '2006-12-23 16:19:13'),
('4084938', '2', '2006-12-23 16:20:23'),
('4084939', '1', '2006-12-23 16:29:14'),
('4084954', '1', '2006-12-23 16:28:28'),
('4250653', '1', '2007-02-12 21:58:53'),
('4250657', '1', '2007-03-12 21:58:53')
;  
Run Code Online (Sandbox Code Playgroud)

这是我的python脚本:

# -*- coding: utf-8 -*-
#!/usr/bin/python2.7
import psycopg2
import matplotlib.pyplot as plt
fig = plt.figure()

# for savefig()
import pylab

###
### Connect to database …
Run Code Online (Sandbox Code Playgroud)

python matplotlib bar-chart

39
推荐指数
4
解决办法
5万
查看次数

Matplotlib饼图:如何用绝对值替换自动标记的相对值

我正在根据matplotlib-demo创建一个饼图:https://matplotlib.org/1.2.1/examples/pylab_examples/pie_demo.html

每个的百分比frac似乎是自动标记的.如何用绝对值替换饼图上绘制的这些自动标记的相对值(%)fracs[]?

python matplotlib pie-chart

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

在postgres中的generate_series上加入计数查询,并将Null值检索为"0"

我想是从generate_series,每个月的统计和计数的ID在每月的总和.这个SQL适用于PostgreSQL 9.1:

  SELECT (to_char(serie,'yyyy-mm')) AS year, sum(amount)::int AS eintraege FROM (
    SELECT  
       COUNT(mytable.id) as amount,   
       generate_series::date as serie   
       FROM mytable  

    RIGHT JOIN generate_series(  

       (SELECT min(date_from) FROM mytable)::date,   
       (SELECT max(date_from) FROM mytable)::date,  
       interval '1 day') ON generate_series = date(date_from)  
       WHERE version = 1   
       GROUP BY generate_series       
       ) AS foo  
  GROUP BY Year   
  ORDER BY Year ASC;  
Run Code Online (Sandbox Code Playgroud)

这是我的输出

"2006-12" | 4  
"2007-02" | 1  
"2007-03" | 1  
Run Code Online (Sandbox Code Playgroud)

但我想得到的是这个输出(1月份的"0"值):

"2006-12" | 4  
"2007-01" | 0  
"2007-02" | 1  
"2007-03" | 1  
Run Code Online (Sandbox Code Playgroud)

因此,如果有一个月没有id,那么它应该被列出.任何想法如何解决这个问题?

以下是一些示例数据: …

sql postgresql join postgresql-9.1 generate-series

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

如何删除无法转换为INT的行

我在postgresql 9.1中有一个带有housenumber的示例表:

drop table if exists mytable;
create table mytable(road_id int, housenr text);
insert into mytable(road_id, housenr) values

('11', '1' ),
('22', '12' ), 
('33', '99/1' ),
('44', '88' ),
('55', '2' ),
('66', '28' ),
('77', '29')
;
Run Code Online (Sandbox Code Playgroud)

现在我必须将整个列"housenr"转换为INT字段.SQL中是否有一种方法只能从可以转换的列中转换这些行.在mytable中,除了"housenr"= 99/1之外,这将是每一行.
类似于:FOR EACH ROW IF :: int IS POSSIBLE将行ELSE REMOVE FROM TABLE转换为

sql postgresql casting

5
推荐指数
1
解决办法
2000
查看次数