2017-07-25 94 views
1

我的团队中的一些人(包括我自己)发现,在散景散点图中使用circle方法时发现它非常迷惑,以至于对于初始自动缩放在图中的数据我们可以为我们的数据在合理的大小拨号,使用例如像plot.circle(x , y , size=3)如何根据变焦获得散焦比例尺散点图大小

然而,当我们以交互放大到我们的数据字形大小为显示是不变的变焦。有没有办法让他们按照我们所调用的缩放比例缩放比例?类似于矢量图形交互的东西(例如svg)。如果内存为我提供了正确的matlab数字和matplotlib数字应该保持缩放比例行为。为了演示我们看到的行为,我认为第一幅图像和红色框大概放大到第二幅图像上。

initial zoom focused zoom

就像使用PowerPoint来说明某种期望行为的快速演示... vector graphic example 1 vector graphic example 1 zoomed in

回答

3

为界,设置radius kwarg而不是size值。 (对于其他字形类型,具有相似的字形特定值)。

即:

plot.circle(x=[1,2,3], y=[1,2,3], radius=0.5) 

size总是呈现在屏幕坐标(像素),但radius和相关性计算在数据坐标和幅度与缩放应该改变。

+0

非常好,一定是错过了屏幕比例单位......'屏幕空间单位中的标记的大小(直径)值“屏幕空间单位,它解释了一切。我们将我们的matplotlib代码移植到散景中,并在散景中无意中将前者的'markersize'定义映射为'size'。感谢您的高举。 – jxramos

+0

圆圈半径肯定是诀窍,寻找类似的几何尺寸选择为我的其他三个字形使用,'x','三角形'和'inverted_triangle'我第一次拍摄时没有看任何东西。搜索[参考](http://bokeh.pydata.org/en/latest/docs/reference/plotting.html#bokeh-plotting)其他使用'Enum('screen','data'))的字形''' (灵感来自'radius_units')我发现了以下列表......环形楔形,环形,弧形,圆形,椭圆形,图像,image_rgba,image_url,椭圆形,光线,矩形,楔形。可能与我使用的其他字形运气不佳: – jxramos

+0

是的,标记实际上是作为“点”散布字形,因此它们只有屏幕空间大小。可以扩展散景,因此可以制作自定义字形就像标记一样,但是可以用数据缩放级别进行缩放;或者,您可以使用“贴图”来绘制各种形状,如三角形,菱形或方形,并且这些可以缩放 – bigreddot