首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在matplotlib中复制for图的伪3D图,以便随着时间的推移对蛋白质进行二级结构分配?

如何在matplotlib中复制for图的伪3D图,以便随着时间的推移对蛋白质进行二级结构分配?
EN

Stack Overflow用户
提问于 2018-07-24 08:42:44
回答 1查看 235关注 0票数 0

我正在尝试使用matplotlib复制在gnu图中创建的一个绘图。gnuplot所使用的绘图类型(如下)称为伪三维绘图。

这表明,随着时间的推移,肽/蛋白质的每一个残基都有二级结构分配。所以,在每一个时间步骤(列),你看到的是单个肽的二级结构分配。对于每一个残余物(行),您将看到该残余物的二级结构分配随时间的变化。

我想将这种情节改编成matplotlib。在matplotlib中,什么是合适的地块来完成这个任务?

我能想到的最原始的解决方案就是简单地使用补丁在正确的坐标处绘制矩形,但我希望使用现有的matplotlib绘图类型,它更灵活,更适合自定义。

这些数据的结构如下:

代码语言:javascript
复制
data = [[x1, y1, z11], [x1, y2, z12], [x1, y3, z13], ..., [xn, ym, znm]]

其中n是时间步长的总数,m是残差的总数。Z值是在xy坐标下二级结构赋值的分类数据。

当在三个时间步骤中有一个含有三个残基的肽时,您可以使用一些实际数据来测试这个过程:

代码语言:javascript
复制
data = [[1, 1, 0], [1, 2, 0], [1, 3, 0], [2, 1, 6], [2, 2, 6], [2, 3, 6], [3, 1, 6], [3, 2, 0], [3, 3, 0]]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 17:37:35

我使用来自这个回答和这个要旨的灵感,得到了下面的图

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

from matplotlib import colors

data = [[1, 1, 0], [1, 2, 2], [1, 3, 0], [2, 1, 6], [2, 2, 6], [2, 3, 6], [3, 1, 6], [3, 2, 0], [3, 3, 0]]


# format the data into an array, zero as default
x_max = max( u[0] for u in data ) + 1
y_max = max( u[1] for u in data ) + 1
z_max = max( u[2] for u in data ) + 1

z = np.zeros((x_max, y_max))
for u in data:
    z[u[0], u[1]] = u[2]

# Define the x and y range:
x = range(x_max + 1)
y = range(y_max + 1)

# Colormap with discrete values and corresponding labels:
labels = ['random', 'helix', 'coil', 'pi', 'beta', 'turn', 'bridge']
cmap = colors.ListedColormap(['white', 'blue', 'green', 'magenta', 'orange', 'red', 'yellow'])
bounds = range(cmap.N+1)
norm = colors.BoundaryNorm(bounds, cmap.N)

plt.pcolor(x, y, z, cmap=cmap, norm=norm)

formatlabels = plt.FixedFormatter( labels )
plt.colorbar(cmap=cmap, norm=norm, boundaries=bounds, ticks=bounds,
             format=formatlabels, drawedges=True);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51494218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档