1

我正在尝试学习如何使用 pylab(以及它的其他工具)。我目前正在尝试了解 pyplot,但我需要创建一种非常具体的绘图类型。它基本上是一个带有单词而不是 y 轴上的数字的线图。

像这样的东西:

hello |   +---+
world |         +---------+ 
      +---|---|---|---|---|-->
      0   1   2   3   4   5

我将如何使用任何 python 图形库来做到这一点?如果您向我展示如何使用 pyplot 或 pylab 套件库,则可以加分。

谢谢!修改

4

1 回答 1

5

我在代码中添加了所有解释:

# Import the things you need
import numpy as np
import matplotlib.pyplot as plt

# Create a matplotlib figure
fig, ax = plt.subplots()

# Create values for the x axis from -pi to pi
x = np.linspace(-np.pi, np.pi, 100)

# Calculate the values on the y axis (just a raised sin function)
y = np.sin(x) + 1

# Plot it
ax.plot(x, y)

# Select the numeric values on the y-axis where you would
# you like your labels to be placed
ax.set_yticks([0, 0.5, 1, 1.5, 2])

# Set your label values (string). Number of label values
# sould be the same as the number of ticks you created in
# the previous step. See @nordev's comment
ax.set_yticklabels(['foo', 'bar', 'baz', 'boo', 'bam'])

而已...

在此处输入图像描述

或者,如果您不需要子图:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-np.pi, np.pi, 100)
y = np.sin(x) + 1
plt.plot(x, y)
plt.yticks([0, 0.5, 1, 1.5, 2], ['foo', 'bar', 'baz', 'boo', 'bam'])

如果您不需要图形和子图,这只是做同样事情的较短版本。

于 2013-08-16T21:01:42.270 回答