小编aro*_*ose的帖子

使用three.js渲染透明对象的两侧时的工件

我尝试使用three.js渲染透明对象的两侧.位于透明对象内的其他对象也应显示.可悲的是,我得到了我不知道的文物.这是一个测试页面:https://dl.dropbox.com/u/3778149/webgl_translucency/test.html

这是所述人工制品的图像.它们似乎源于潜在的球体几何形状. 具有混合模式的工件:THREE.AdditiveBlending = 1

有趣的是,对于混合模式THREE.SubtractiveBlending = 2,工件是不可见的. 在此输入图像描述

任何帮助赞赏!

亚历克斯

transparency three.js

12
推荐指数
2
解决办法
4157
查看次数

堆积子图的对齐

编辑:

我发现自己是一个答案(见下文)如何在子图中对齐图像:

for ax in axes:
    ax.set_anchor('W')
Run Code Online (Sandbox Code Playgroud)

编辑结束

我有一些我用imshow绘制的数据.它在x方向很长,所以我通过在垂直堆叠的子图中绘制数据切片将其分成多行.我对结果感到满意,但最后一个子图(不像其他子图那样宽)我希望与其他子图对齐.

下面的代码使用Python 2.7.1和matplotlib 1.2.x进行测试.

#! /usr/bin/env python

import matplotlib.pyplot as plt
import numpy as np

x_slice = [0,3]
y_slices = [[0,10],[10,20],[20,30],[30,35]]
d = np.arange(35*3).reshape((35,3)).T
vmin = d.min()
vmax = d.max()
fig, axes = plt.subplots(len(y_slices), 1)


for i, s in enumerate(y_slices):
    axes[i].imshow( 
        d[ x_slice[0]:x_slice[1], s[0]:s[1] ], 
        vmin=vmin, vmax=vmax,
        aspect='equal',
        interpolation='none'
    )

plt.show()
Run Code Online (Sandbox Code Playgroud)

结果是

垂直堆积的子图,最后居中

鉴于Zhenya的提示,我使用了axis.get/set_position.我尝试了一半的宽度,但我不明白它的效果

for ax in axes:
    print ax.get_position()

p3 = axes[3].get_position().get_points()
x0, y0 = p3[0]
x1, y1 = p3[1]
# [left, …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib

4
推荐指数
1
解决办法
5370
查看次数

标签 统计

matplotlib ×1

numpy ×1

python ×1

three.js ×1

transparency ×1