使用Bokeh调色板展示销售数据的地域分布
发布时间:2023-12-26 21:05:15
Bokeh是一个Python编程语言的交互式可视化库,可用于创建漂亮且富有交互性的数据可视化。在本文中,我们将使用Bokeh调色板来展示销售数据的地域分布。
首先,我们需要准备一些销售数据和地理位置数据。我们假设我们有一个销售公司的销售数据,包括销售员的姓名、销售额和销售地点的经纬度。
import pandas as pd
# 准备销售数据
sales_data = {
'Salesperson': ['John', 'Jane', 'Mike', 'Anna'],
'Sales': [10000, 12000, 8000, 15000],
'Latitude': [30.2676, 34.0522, 40.7128, 41.8781],
'Longitude': [-97.7431, -118.2437, -74.0060, -87.6298]
}
df = pd.DataFrame(sales_data)
接下来,我们可以使用Bokeh调色板将这些销售数据可视化在地图上。Bokeh提供了bokeh.palettes模块,其中包含了许多预定义的调色板,可以在可视化中使用。下面是一个使用Spectral11调色板的例子:
from bokeh.io import output_notebook, show
from bokeh.models import ColumnDataSource
from bokeh.plotting import gmap
from bokeh.palettes import Spectral11
# 配置Bokeh在Jupyter Notebook中显示
output_notebook()
# 使用Google Map创建绘图
api_key = "YOUR_API_KEY" # 请替换为您的Google Maps API密钥
p = gmap(api_key, title="Sales Distribution", width=800, height=600)
# 创建数据源
source = ColumnDataSource(data=dict(
lat=df['Latitude'],
lon=df['Longitude'],
sales=df['Sales'],
salesperson=df['Salesperson']
))
# 将数据绘制为圆圈标记
p.circle(x='lon', y='lat', size='sales', fill_color=Spectral11[0], fill_alpha=0.8, line_color=None, source=source)
# 显示销售额和销售员的工具提示
p.add_tools(HoverTool(
tooltips=[
("Salesperson", "@salesperson"),
("Sales", "@sales{$0,0}")
]
))
# 显示地图
show(p)
在上面的示例中,我们首先创建了一个Google Map绘图使用的gmap对象,并指定了要使用的Google Maps API密钥。然后,我们使用ColumnDataSource创建了一个数据源,其中包含了销售数据的经纬度、销售额和销售员。接下来,我们使用circle函数将销售数据绘制为圆圈标记,圆圈的大小表示销售额,颜色表示销售员。最后,我们使用HoverTool添加了工具提示,以显示销售额和销售员的信息。
以上是使用Bokeh调色板展示销售数据的地域分布的示例。通过使用不同的调色板,我们可以将销售数据可视化为不同的颜色,从而更好地传达销售地点和销售额之间的关系。
