Python Matplotlib直方图,其中存储单元定义为浮动范围并由其着色?
我做RMSF分析,结果是我有一个浮动列表(0.1、0.3等),我想做一个直方图,其中是浮动定义范围的箱子。然后我想让每个浮动范围都有相应的颜色。我试着用这个脚本的类比:Python Matplotlib直方图,其中存储单元定义为浮动范围并由其着色?,python,python-3.x,numpy,matplotlib,histogram,Python,Python 3.x,Numpy,Matplotlib,Histogram,我做RMSF分析,结果是我有一个浮动列表(0.1、0.3等),我想做一个直方图,其中是浮动定义范围的箱子。然后我想让每个浮动范围都有相应的颜色。我试着用这个脚本的类比: from MDAnalysis.analysis.rms import RMSF import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() data = rmsfer.rmsf N, bins, patches = ax.hist(
from MDAnalysis.analysis.rms import RMSF
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
data = rmsfer.rmsf
N, bins, patches = ax.hist(data, edgecolor='white', linewidth=1)
for i in np.arange(0.3,0.8):
patches[i].set_facecolor('navy')
for i in np.arange(0.8,1.3):
patches[i].set_facecolor('cyan')
for i in np.arange(1.3,1.8):
patches[i].set_facecolor('yellow')
for i in np.arange(1.8,2.3):
patches[i].set_facecolor('orange')
for i in np.arange(2.3,3.5):
patches[i].set_facecolor('red')
我知道float有问题,并尝试用numpy和np.arange来修复它,但当然这对我来说并不容易,因为我是python新手。有什么建议吗?IIUC,您需要将
垃圾箱
传递到ax.hist
:
fig,ax = plt.subplots()
N, bins, patches = ax.hist(data,bins=[0.3, 0.8,1.3,1.8,2.3,3.5],edgecolor='white')
for (p,c) in zip(patches, ['navy','cyan','yellow','orange','red']):
p.set_facecolor(c)
输出: