首页 > 解决方案 > 在python中绘制均匀间隔的线

问题描述

有没有办法在 python 中绘制均匀间隔的垂直线?我试图在图表上绘制均匀分布的垂直线,我试图将 domian 的范围除以数组的长度以获得均匀间隔的垂直线,我想知道还有其他方法吗?

import matplotlib.pyplot as plt

array = [2,3,1,5,7,9]

xMin = -30
xMax = 30
plt.ylim(0,30 )
plt.xlim(xMin,xMax)

factor = (xMax - xMin)/len(array)

for i in array:
   plt.plot((xMin,xMin),(0,i),'-k')
   xMin+= factor

plt.show()

PS.数组中的数字表示Y轴的值 在此处输入图像描述

标签: pythonmatplotlib

解决方案


import matplotlib.pyplot as plt; import numpy as np
array, xmin, xmax, ymax = [2,3,1,5,7,9], -30, 30, 30
plt.ylim(0,ymax)
[plt.axvline(v, ymax=array[i]/ymax, c='k', lw=1) for i, v in enumerate(np.linspace(xmin,xmax,len(array)))];

在此处输入图像描述


推荐阅读