小编are*_*ced的帖子

Seaborn distplot y轴标准化错误的ticklabels

请注意,我已经检查了这个问题和这个问题.

所以,我正在使用distplot在单独的子图上绘制一些直方图:

import numpy as np
#import netCDF4 as nc # used to get p0_dict
import matplotlib.pyplot as plt
from collections import OrderedDict
import seaborn.apionly as sns
import cPickle as pickle

''' 
LINK TO PICKLE
https://drive.google.com/file/d/0B8Xks3meeDq0aTFYcTZEZGFFVk0/view?usp=sharing
'''

p0_dict = pickle.load(open('/path/to/pickle/test.dat', 'r'))     

fig = plt.figure(figsize = (15,10))
ax = plt.gca()
j=1

for region, val in p0_dict.iteritems():

    val = np.asarray(val)

    subax = plt.subplot(5,5,j)

    print region

    try:              
        sns.distplot(val, bins=11, hist=True, kde=True, rug=True, 
                     ax = subax, color = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn

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

matplotlib.contourf级别是否取决于色彩映射中的颜色数量?

我正在使用contourf绘制地图,我通常使用水平= 50的默认(彩虹)colorscheme.

#Various imports
#LOTS OF OTHER CODE BEFORE
plot = plt.contourf(to_plot, 50)
plt.show()
#LOTS OF OTHER CODE AFTER
Run Code Online (Sandbox Code Playgroud)

输出如下.我做其他各种各样的东西来获得海岸线等.如果有人感兴趣,我会使用虹膜和手抄本完成.

这是结果

现在我决定我不想使用彩虹方案,所以我使用了一些Cyntia Brewer颜色:

brewer_cmap = mpl.cm.get_cmap('brewer_Reds_09')
plot = iplt.contourf(to_plot, 50, cmap=brewer_cmap) # expect 50 levels
Run Code Online (Sandbox Code Playgroud)

但输出是: 这是结果

你可以在这里看到这个调色板只有9种颜色.所以我的问题是,色彩图级别是否受色彩图中可用颜色数量的限制?我非常喜欢这张地图,我想知道是否有可能生成一个像它这样的新版本但是有更多级别的红色?

我有兴趣能够捕捉数据的可变性,所以更多的轮廓水平似乎是一个好主意,但我热衷于失去彩虹方案,只是采用基于单一颜色的方案.

干杯!

python matplotlib colorbrewer

7
推荐指数
1
解决办法
6619
查看次数

有效地计算非零值的运行

我正在处理降雨量的时间序列,为此我想计算单个降雨事件的长度和体积,其中“事件”是一系列非零时间步长。我正在处理 ~60k 时间步长的多个时间序列,我目前的方法很慢。

目前我有以下几点:

import numpy as np

def count_events(timeseries):
    start = 0  
    end = 0
    lengths = []
    volumes = []
    # pad a 0 at the edges so as to include edges as "events"
    for i, val in enumerate(np.pad(timeseries, pad_width = 1, mode = 'constant')):

        if val > 0 and start==0:
            start = i
        if val == 0 and start>0:
            end = i

            if end - start != 1:
                volumes.append(np.sum(timeseries[start:end]))
            elif end - start == 1:
                volumes.append(timeseries[start-1])

            lengths.append(end-start) …
Run Code Online (Sandbox Code Playgroud)

python numpy

4
推荐指数
1
解决办法
793
查看次数

标签 统计

python ×3

matplotlib ×2

colorbrewer ×1

numpy ×1

seaborn ×1