首页 > 解决方案 > 以相同间距将字符串定位到 x 轴

问题描述

在 Python 中,我有两个列表,每个列表都包含一些元素

Chemical_elements= [11,12,20,21.1,22,23,24,25,26]        
Other_values=[0.1,0.2,-0.03,0.1,0.2,0.2,0.2,0.2,0.2]

现在我想将一个简单的图形绘制为x=Chemical_elementsy=other_values

我面临的问题是将x轴票分配到字符串中,即:

xticks=['Na','Mg', 'Ca', 'Sc', 'Ti', 'v' ,'Cr','Mn','Fe']

我尝试了以下方法:

locs, labels = xticks()

xticks(np.arange(10, 70, step=5))

xticks(np.arange(10), ('Na','Mg', 'Ca', 'Sc', 'Ti', 'v' ,'Cr','Mn','Fe'))

附图显示了我想要的

标签: pythonmatplotlib

解决方案


此解决方案工作正常:

import matplotlib.pyplot as plt
import numpy as np

Chemical_elements= [11,12,20,21.1,22,23,24,25,26]
Other_values = [0.1,0.2,-0.03,0.1,0.2,0.2,0.2,0.2,0.2]

f, ax = plt.subplots(1, figsize = (10, 5))
ax.plot(Chemical_elements, Other_values)

xticks_location = np.linspace(min(Chemical_elements), max(Chemical_elements), len(Chemical_elements))
xticks_labels = ['Na','Mg', 'Ca', 'Sc', 'Ti', 'v' ,'Cr','Mn','Fe']

ax.set_xticks(xticks_location)
ax.set_xticklabels(xticks_labels)

plt.show()

推荐阅读