matplotlib 如何重新格式化图表上的x轴[复制]

ou6hu8tu  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(100)

此问题已在此处有答案

Changing the tick frequency on the x or y axis(14个回答)
2小时前关闭
我在matplotlib中有一个简单的图表:

import numpy as np
import matplotlib.pyplot as plt

data = np.random.uniform(-3, 2, 100)
data = np.append(data, [-5, -10, -50, -55])

plt.scatter(range(104), data, marker='o', color='b', label='Data Points')

plt.savefig("example.png")

它看起来像这样:

你可以看到值-50和-55扭曲了整个图形。我想改变Y轴的线性度得到这个:

换句话说,Yasis应该有值0,-10,-30,-50,-100,这是非线性的。我怎么才能做到这一点呢?

p5cysglq

p5cysglq1#

要在Y轴上实现所需的格式,您可以将y刻度设置为symlog,然后设置自定义刻度标签:

import numpy as np
import matplotlib.pyplot as plt

data = np.random.uniform(-3, 2, 100)
data = np.append(data, [-5, -10, -50, -55])

plt.scatter(range(104), data, marker='o', color='b', label='Data Points')
plt.yscale('symlog')

# Set custom y-tick labels
plt.yticks([0, -10, -30, -50, -100], ['0', '-10', '-30', '-50', '-100'])

plt.show()

相关问题