только горизонтальная сетка (в питоне, использующем pandas plot + pyplot) - PullRequest
0 голосов
/ 15 февраля 2019

Я бы хотел получить только горизонтальную сетку, используя график панд.

Интегрированный параметр панд имеет только grid=True или grid=False, поэтому я попытался с помощью pyplot matplotlib, изменив параметры осей, в частности, с помощью этого кода:

import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure()
ax2 = plt.subplot()
ax2.grid(axis='x')
df.plot(kind='bar',ax=ax2, fontsize=10, sort_columns=True)
plt.show(fig)

Но я получаюнет сетки, ни горизонтальной, ни вертикальной.Панды перезаписывают оси?Или я что-то не так делаю?

1 Ответ

0 голосов
/ 15 февраля 2019

Попробуйте установить сетку после построения графика DataFrame.Также, чтобы получить горизонтальную сетку, нужно использовать ax2.grid(axis='y').Ниже приведен ответ с использованием примера DataFrame.

Я изменил структуру определения ax2, используя subplots.

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})

fig, ax2 = plt.subplots()

df.plot(kind='bar',ax=ax2, fontsize=10, sort_columns=True)
ax2.grid(axis='y')
plt.show()

Кроме того, вы также можете сделать следующее: Использовать объект оси, возвращенный из графика DataFrame напрямую, чтобы включить горизонтальную сетку

fig = plt.figure()

ax2 = df.plot(kind='bar', fontsize=10, sort_columns=True)
ax2.grid(axis='y')

Третий вариант как подсказывает @ayorgo в комментариях, две команды объединяются в

df.plot(kind='bar',ax=ax2, fontsize=10, sort_columns=True).grid(axis='y')

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...