2016-04-21 6 views
2

Я получил эту dataframe Д.Ф.,Python Панда: Бар участок оси Х выпуски

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 

table = {'Count_Product': pd.Series([1,2,3]), 'Count_Transaction': pd.Series([1,1,2])} 
df = pd.DataFrame(table) 
df 

Count_Product Count_Transaction 
0 1 1 
1 2 1 
2 3 2 

И я хочу сделать простой бар участок, где ось х Count_Product и ось у Count_Transaction. Я использовал следующий код для генерации,

%matplotlib inline 

ax = df['Count_Product'].plot(kind='bar', figsize=(5,5), color='blue') 
ax.set_ylabel("Count_Transaction") 
ax.set_xlabel("Count_Product") 
patches, labels = ax.get_legend_handles_labels() 
ax.legend(patches, labels, loc='best') 

И выход граф,

enter image description here

Моя проблема ось х показывает 0,1,2 вместо 1,2, 3 из столбца Count_Product. Похоже, что он принимает первый столбец как ось x автоматически.

Кто-нибудь знает, как я могу закодировать правильный столбец, чтобы использовать столбец Count_Product как ось x?

Спасибо, Lobbie

ответ

3

Я думаю, что вам нужно первый set_index из колонки Count_Product, а затем изменить df['Count_Product'].plot к df['Count_Transaction'].plot:

df = df.set_index('Count_Product') 

ax = df['Count_Transaction'].plot(kind='bar', figsize=(5,5), color='blue') 
ax.set_ylabel("Count_Transaction") 
ax.set_xlabel("Count_Product") 
patches, labels = ax.get_legend_handles_labels() 
ax.legend(patches, labels, loc='best') 

graph

+0

Привет Jezrael, спасибо так много! Я думал о том, что мне нужно указать индекс где-нибудь, и ты показал мне. Еще раз спасибо, Лобби. – Lobbie

+0

Да, мне также нужно «изменить df ['Count_Product»]. Plot to df [' Count_Transaction ']. Plot ". Я также замечаю, что мне не нужно делать df ['Count_Transaction'], и просто использовать df.plot также будет работать. Еще раз спасибо. – Lobbie

+0

Если бы мой ответ был полезным, не забудьте [принять] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) его. Благодарю. – jezrael

Смежные вопросы