Python 坐标系,尖峰图

Python 坐标系,尖峰图,python,matplotlib,Python,Matplotlib,我想做一个尖峰图:在每个x值处,我画一条长度为y的线。我可以使用薄条的plt.bar。我的问题是,我可以指定条的宽度,但它是在数据坐标中给出的,这不足以用于此目的。我想把钢筋的宽度设为,比如说1磅 plt.bar(x,y,width=0.1,align='center',color='black') 有。但这并不能回答我的问题,x和y应该保持在数据坐标中,只有条形的宽度应该在“真实尺寸坐标”中指定,这样放置transform=…就不起作用了。另一个问题是,我没有找到一种方法以“真实大小单位”(

我想做一个尖峰图:在每个x值处,我画一条长度为y的线。我可以使用薄条的
plt.bar
。我的问题是,我可以指定条的宽度,但它是在数据坐标中给出的,这不足以用于此目的。我想把钢筋的宽度设为,比如说1磅

plt.bar(x,y,width=0.1,align='center',color='black')
有。但这并不能回答我的问题,x和y应该保持在数据坐标中,只有条形的宽度应该在“真实尺寸坐标”中指定,这样放置
transform=…
就不起作用了。另一个问题是,我没有找到一种方法以“真实大小单位”(pt、cm、inches,…)指定数据。(最终目的是制作一个pdf文件,以便包含在论文中)


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

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

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