我有一个包含 4 列 x、y、z 和幅度(需要绘制的值)的数据框,幅度值从 0 到 30.3 不等。如果给我最大和最小幅度,我需要绘制表面。假设我的最小震级为 2.0,最大震级为 10.0。所以我想以这样的方式绘制它,即大于最大值的值应该以红色突出,小于最小值的值应该以绿色突出。
我尝试了以下代码,但我得到了全绿色的情节。
p7 = mlab.plot3d(df['x_coordinate'],df['y_coordinate'],df['z_coordinate'],df['Magnitude_F'],tube_radius=Config.BEADDIAMETER, tube_sides=Config.BEADCORNERS, colormap='copper',vmin = 2, vmax = 10.0)
p8 = mlab.plot3d(df['x_coordinate'],df['y_coordinate'],df['z_coordinate'],df['Magnitude_F'],tube_radius=Config.BEADDIAMETER, tube_sides=Config.BEADCORNERS, color=(1,0,0),vmin = 10.0)
p9 = mlab.plot3d(df['x_coordinate'],df['y_coordinate'],df['z_coordinate'],df['Magnitude_F'],tube_radius=Config.BEADDIAMETER, tube_sides=Config.BEADCORNERS, color=(0,1,0),vmax = 2.0)
mlab.colorbar(object=p7, title="Points in Magnitude_F")
mlab.colorbar(object=p8, title="Above maximum Magnitude_F",orientation = 'vertical' )
mlab.colorbar(object = p9, title= "Below minimum Magnitude_F", orientation = 'vertical')
mlab.show()
下图是我使用以下代码时得到的。现在,我只想说,如果我将最大值设置为 10,那么所有高于 10 的值,即 10 到 27.1 都应该用可以突出显示的单色表示,因为我对那个高值不满意。与较低的值类似,如果我将 2 设置为较低的值,那么所有低于 2 的值都应该是单一颜色。在爆炸图像中,我很难将高于 10 的值视为难以阅读。
p7 = mlab.plot3d(df['x_coordinate'],df['y_coordinate'],df['z_coordinate'],df['Magnitude_F'],tube_radius=Config.BEADDIAMETER, tube_sides=Config.BEADCORNERS, colormap='blue-red')
mlab.colorbar(object=p7, title="Magnitude_F")
] 1