坐标系,尖峰图

时间:2014-01-25 09:20:16

标签: python matplotlib

我想制作一个尖峰图:在每个x值处我绘制一条长度为y的线。我可以使用plt.bar细条。我的问题是我可以指定条宽,但它是以数据坐标给出的,不足以达到此目的。我想将条的宽度设置为1pt。

plt.bar(x,y,width=0.1,align='center',color='black')

http://matplotlib.org/users/transforms_tutorial.html。但这并没有回答我的问题,x和y应该保留在数据坐标中,只应在“真实大小坐标”中指定条形的宽度,这样放transform=...将不起作用。另一个问题是我找不到以“真实尺寸单位”(pt,cm,inches,...)指定数据的方法。 (最终目的是制作一份包含在论文中的pdf文件)。

编辑我可以使用vlines而不是bar,但是,原始问题仍然让我困惑:如何为同一对象的不同参数指定不同的系统坐标,如何使用真实尺寸单位?

1 个答案:

答案 0 :(得分:0)

您可以每次重新缩放宽度,例如:

import matplotlib.pylab as plt
import numpy as np

x = np.linspace(0, 1000, 10)
y = np.random.randint(0, 10, 10)

plt.bar(x, y, width=0.001*max(x))
plt.show()

这使得每个条的宽度始终是总长度的一小部分0.001