首页 > 解决方案 > Python 中 plt.xticks 的整数值

问题描述

我想绘制一个图形,并将 plt.xticks 设置为 np.linspace(1, 3, 10)。

我认为 x 轴上的值是 1, 1.2, 1.4, 1.6, ..., 3。

但结果是:1.000、1.222、1.444、1.667、...、3.000。

我怎样才能解决这个问题?

import numpy as np
import matplotlib.pyplot as plt

n_c = 1
n_s = np.linspace(1, 3, 100)

iso_trapping_efficiency = (np.sqrt(1 - (n_c ** 2 / n_s ** 2))) *100

plt.figure()
plt.plot(n_s, iso_trapping_efficiency, 'r', label='Isotropic Dipole')

plt.xlabel('Refractive Index, n_s', fontsize=15)
plt.ylabel('Trapping Efficiency [%]', fontsize=15)

# change the xticks
plt.xticks(np.linspace(1, 3, 10))

plt.legend(loc='lower right')

plt.show()

在此处输入图像描述

标签: pythonnumpymatplotlib

解决方案


的第三个参数np.linspace()不包含值。尝试plt.xticks(np.linspace(1, 3, 11))


推荐阅读