Я использую matplotlib для приложения построения графика. Я пытаюсь создать график, который имеет строки как X значений. Однако использование plot
функция ожидает числовое значение для X.
Как я могу использовать строку X значений?
Почему бы просто не сделать значение x некоторым автоматически увеличивающимся числом, а затем изменить метку?
- jed
Вот один способ, который, как я знаю, работает, хотя я думаю, что создание пользовательских символов - более естественный способ достижения этой цели.
from matplotlib import pyplot as PLT
# make up some data for this example
t = range(8)
s = 7 * t + 5
# make up some data labels which we want to appear in place of the symbols
x = 8 * "dp".split()
y = map(str, range(8))
data_labels = [ i+j for i, j in zip(x, y)]
fig = PLT.figure()
ax1 = fig.add_subplot(111)
ax1.plot(t, s, "o", mfc="#FFFFFF") # set the symbol color so they are invisible
for a, b, c in zip(t, s, data_labels) :
ax1.text(a, b, c, color="green")
PLT.show()
Так что это помещает "dp1", "dp2", ... вместо каждого из исходных символов данных - по сути, создавая пользовательские "текстовые символы", хотя, опять же, я должен верить, что есть более прямой способ сделать это в matplotlib (без использования Artists).