python水平条形图_如何在Bokeh(Python)中绘制水平条形图

使用矩形雕文很容易。请注意,使用分类值设置y_范围时,bokeh图中这些值的索引从1开始。所以计数器“j”从1开始。import numpy as np

import pandas as pd

from bokeh.plotting import figure, show

from bokeh.models import Range1d

data = {'Cities': {'Des_Moines': 80.0, 'Lubbock': -300.0, 'Minneapolis': 85.7,

'Orange_County': 80.0, 'Salt_Lake_City': 81.8, 'San_Diego': 80.0,

'San_Francisco': -400.0, 'Troy': -400.0, 'Wilmington': -300.0}}

#df_data = pd.DataFrame(data).sort_values('Cities', ascending=False)

df_data = pd.DataFrame(data).sort(columns='Cities',ascending=False)

this_series = df_data.loc[:,'Cities']

p = figure(width=800, height=600, y_range=this_series.index.tolist())

p.background_fill = "#EAEAF2"

p.grid.grid_line_alpha=1.0

p.grid.grid_line_color = "white"

p.xaxis.axis_label = 'xlabel'

p.xaxis.axis_label_text_font_size = '14pt'

p.xaxis.major_label_text_font_size = '14pt'

#p.x_range = Range1d(0,50)

#p.xaxis[0].ticker=FixedTicker(ticks=[i for i in xrange(0,5,1)])

p.yaxis.major_label_text_font_size = '14pt'

p.yaxis.axis_label = 'ylabel'

p.yaxis.axis_label_text_font_size = '14pt'

j = 1

for k,v in this_series.iteritems():

print k,v,j

p.rect(x=v/2, y=j, width=abs(v), height=0.4,color=(76,114,176),

width_units="data", height_units="data")

j += 1

show(p)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值