Нужно зафиксировать ось x и ось y для графика, чтобы я мог ясно видеть представление

57
5

У меня есть образ, создаваемый как вывод в python (spyder). Цифры по оси Y все загромождены, и их невозможно прочитать. Как сделать граф таким, чтобы каждое число на этой оси y было понятным для чтения. Я также хотел бы изменить длину оси x, чтобы пользователь мог понять, какое значение соответствует каждому столбцу по оси x. На данный момент это очень трудно прочитать.

Итак, да, я хочу изменить как ось x, так и ось y по-своему, как я уже упоминал выше. Пожалуйста, помогите мне с этим. Я использую импорт matplotlib.pyplot как plt, поэтому, пожалуйста, не изменяйте это. Следуйте приведенной ниже ссылке для изображения графика, который я получаю.

http://i57.tinypic.com/6g8obb.png

Вот код:

tempArray = myNumpRead[:,1]
barh = plt.subplot(111)
width = 0.8
barh.barh(range(len(states)), tempArray)
barh.set_ylim(-width,len(states)+width)
barh.set_yticks(np.arange(len(states)) + width/2)
barh.set_yticklabels(states, rotation=0)
plt.title('Population by State')
plt.xlabel('Population')
plt.ylabel('State Ticker')
plt.grid(True)
plt.show()

Спасибо за помощь.

спросил(а) 2015-10-03T07:10:00+03:00 4 года, 11 месяцев назад
1
Решение
80

На ваш вопрос очень сложно ответить, потому что ваш код не воспроизводится без ваших переменных, и я не вижу изображение в указанной вами ссылке.

Однако увеличение ширины вашей фигуры может быть тем, о чем вы просите. Это можно сделать так:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 1)
y = x**2

fig = plt.figure(figsize=(10, 3)) # the 10 here is width, the 3 is height
ax = fig.add_subplot(111)
ax.plot(x, y)
plt.show(fig)

Позвольте мне знать, если это помогает. Если вам нужна дополнительная помощь, отправьте код, который может воспроизвести вашу проблему, если мы не потребуем ваших переменных. то есть. напишите код, который может работать автономно.

Редактировать после просмотра изображения

Меняет ли ваш код на следующее решение проблемы?

tempArray = myNumpRead[:,1]
fig = plt.figure(figsize=(5, 15)) # Change these numbers here to suit what you want
ax = fig.add_subplot(111)
width = 0.8
ax.barh(range(len(states)), tempArray)
ax.set_ylim(-width,len(states)+width)
ax.set_yticks(np.arange(len(states)) + width/2)
ax.set_yticklabels(states, rotation=0)
ax.set_title('Population by State')
ax.set_xlabel('Population')
ax.set_ylabel('State Ticker')
ax.grid(True)
plt.show(fig)

ответил(а) 2015-10-03T07:37:00+03:00 4 года, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема