【发布时间】:2017-03-18 05:31:38
【问题描述】:
我有一个代码可以生成一张美国地图,其中的点位于指定的经纬度坐标。这些点中的每一个都标有一个值,我想用这个值来指示该点应该有多大以及该点应该是什么颜色。代码如下:
points = pd.read_csv(f)
lat = []
lon = []
heat = []
const = []
for i in range(points.shape[0]):
lat.append(points.iat[i,0])
lon.append(points.iat[i,1])
heat.append(points.iat[i,2])
const.append(points.iat[i,3])
source = ColumnDataSource(
data = dict(
lat = lat,
lon = lon,
radius = heat,
constr = const,
)
)
TOOLS = 'box_zoom,wheel_zoom,hover'
state_xs = [states[code]["lons"] for code in states]
state_ys = [states[code]["lats"] for code in states]
p = figure(title="Bound Portfolio", toolbar_location="left",
plot_width=1100, plot_height=700, tools = TOOLS)
p.patches(state_xs, state_ys, fill_alpha=0.3, fill_color = "orange",
line_color="#884444", line_width=2, line_alpha=0.3)
circle = Circle(x="lon", y="lat", size=4.5, fill_color="blue", fill_alpha=0.5, line_color=None)
#circle = Circle(x="lon", y="lat", size=4.5, fill_color="blue", fill_alpha=0.5, line_color=None)
p.add_glyph(source, circle)
lat、lon、heat 和 const 是我通过读取 pandas 数据框的行创建的列表。我希望热量(1-10)的值是相关点的半径。我希望 const 中的每个唯一值都映射到相关点的唯一颜色。我一直无法弄清楚如何使这段代码工作。我已经尝试为圆圈的大小添加许多变化,但它没有奏效......同样适用于颜色。
【问题讨论】: