我想根据一个数组(最多1000个元素)绘制单行刻度.我宁愿不使用类似的东西:
plt.xticks(energies[i][j])
Run Code Online (Sandbox Code Playgroud)
因为每个样本值都写在下面.我已经广泛查看了Matplotlib文档,但除了hist()之外没有找到任何内容.如果你们知道将1D阵列可视化为单行的其他方法,我将非常感激,特别是如果它涉及表示值密度的颜色.
我正在使用Spyder 2.2.5,Python 2.7.6 | OSX 10.7.4中的64位
编辑 As @tcaswell在评论中提到,eventplot是一个很好的方法.这是一个例子:
from matplotlib import pyplot as plt
import numpy as np
plt.figure()
a = [1,2,5,6,9,11,15,17,18]
plt.hlines(1,1,20) # Draw a horizontal line
plt.eventplot(a, orientation='horizontal', colors='b')
plt.axis('off')
plt.show()
Run Code Online (Sandbox Code Playgroud)
或者你可以使用垂直线标记?下面的例子有基本的想法.您可以更改标记的颜色以表示密度.
from matplotlib import pyplot as plt
import numpy as np
a = [1,2,5,6,9,11,15,17,18]
plt.hlines(1,1,20) # Draw a horizontal line
plt.xlim(0,21)
plt.ylim(0.5,1.5)
y = np.ones(np.shape(a)) # Make all y values the same
plt.plot(a,y,'|',ms = 40) # Plot a line at each location specified in a
plt.axis('off')
plt.show()
Run Code Online (Sandbox Code Playgroud)