0

編集2

間違っていたコードの一部を修正しました。そのコード行で、すべての情報 (軸 X) のカテゴリを追加します。

y = joy(cat, EveryTest[i].GPS)

そのコード行を追加した後、グラフは改善されましたが、まだ何かが失敗しています。グラフは 4 番目のカテゴリ (つまり 12:40:00) から始まり、最初のカテゴリ (12:10:00) から開始する必要があります。

ここに画像の説明を入力

編集1

Bkoeh を0.12.13にアップデートしたら、ラベルの問題が修正されました。今私の問題は次のとおりです: ( for i, cat in enumerate(reversed(cats)):) のループがすべてのチャートをラベルに配置すると思いますが、そうはなりません。チャートが 5 番目または 6 番目のラベルに貼り付いているのがわかります。(12:30:00 または 12:50:00)

ここに画像の説明を入力

- 質問の開始 -

joyplotの例を再現しようとしています。しかし、自分のデータをロットしたいときは苦労します。ヒストグラムをプロットしたくありません。 Xにいくつかのリストをプロットし、Yにいくつかのリストをプロットしたいと思います。しかし、私は自分が間違っていることを理解していません。

コード (固定):

from numpy import linspace
from scipy.stats.kde import gaussian_kde
from bokeh.io import output_file, show
from bokeh.models import ColumnDataSource, FixedTicker, PrintfTickFormatter
from bokeh.plotting import figure
#from bokeh.sampledata.perceptions import probly 
bokeh.BOKEH_RESOURCES='inline'
import colorcet as cc

output_file("joyplot.html")

def joy(category, data, scale=20):
    return list(zip([category]*len(data),data))

#Elements = 7

cats = ListOfTime #  list(reversed(probly.keys())) #list(['Pos_1','Pos_2']) #

print len(cats),' lengh of times'

palette = [cc.rainbow[i*15] for i in range(16)]
palette += palette
print len(palette),'lengh palette'
x = X # linspace(-20,110, 500) #Test.X #
print len(x),' lengh X'
source = ColumnDataSource(data=dict(x=x))

p = figure(y_range=cats, plot_width=900, x_range=(0, 1500), toolbar_location=None)

for i, cat in enumerate(reversed(cats)):
    y = joy(cat, EveryTest[i].GPS)
    #print cat
    source.add(y, cat)
    p.patch('x', cat, color=palette[i], alpha=0.6, line_color="black", source=source)
    #break
print source
p.outline_line_color = None
p.background_fill_color = "#efefef"

p.xaxis.ticker = FixedTicker(ticks=list(range(0, 1500, 100)))
#p.xaxis.formatter = PrintfTickFormatter(format="%d%%")

p.ygrid.grid_line_color = None
p.xgrid.grid_line_color = "#dddddd"
p.xgrid.ticker = p.xaxis[0].ticker

p.axis.minor_tick_line_color = None
p.axis.major_tick_line_color = None
p.axis.axis_line_color = None

#p.y_range.range_padding = 0.12
#p
show(p)

変数は次のとおりです。

print X, type(X)
[ 3  6  9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75
 78 81 84 87 90 93 96 99] <type 'numpy.ndarray'>

print EveryTest[0].GPS, type(EveryTest[i].GPS)
0     2
1     2
2     2
3     2
4     2
5     2
6     2
7     2
8     2
9     2
10    2
11    2
12    2
13    2
14    2
15    2
16    2
17    2
18    2
19    2
20    2
21    2
22    2
23    2
24    2
25    2
26    2
27    2
28    2
29    2
30    2
31    2
32    2
Name: GPS, dtype: int64 <class 'pandas.core.series.Series'>

に従って、データのタイプは問題ありません。しかし、私は次の画像を取得します: ここに画像の説明を入力

そして、私は次のようなものを期待していました: ここに画像の説明を入力

4

0 に答える 0