Python 直方图是自动创建的,而不是条形图
我想创建一个离散变量的条形图(不是直方图),该变量的值为{1,2,3,4}Python 直方图是自动创建的,而不是条形图,python,numpy,pandas,matplotlib,bar-chart,Python,Numpy,Pandas,Matplotlib,Bar Chart,我想创建一个离散变量的条形图(不是直方图),该变量的值为{1,2,3,4} import pandas as pd import collections import matplotlib.pyplot as plt import numpy as np train = pd.read_csv('data/train.csv', parse_dates=[0]) fig, axes = plt.subplots(nrows=2) counts = collections.Counter(tr
import pandas as pd
import collections
import matplotlib.pyplot as plt
import numpy as np
train = pd.read_csv('data/train.csv', parse_dates=[0])
fig, axes = plt.subplots(nrows=2)
counts = collections.Counter(train['season'].values)
vals = np.arange(len(counts))
axes[0].bar(counts, vals, color='red')
axes[0].set(title='Season')
plt.show()
然而,我得到了一个类似于直方图的图(“bin”而不是X轴上的值-1、2、3和4)。
那么:
import pandas as pd
df = pd.DataFrame({'season' : pd.Series([1., 2., 3., 4., 1., 3.])})
df.season.value_counts(sort=False).plot(kind='bar')
我想你有几件事要解决
counts.keys()
counts.values()
counts.keys()
import pandas as pd
import collections
import matplotlib.pyplot as plt
import numpy as np
train = pd.read_csv('data/train.csv', parse_dates=[0])
fig, axes = plt.subplots(nrows=2)
counts = collections.Counter(train['season'].values)
axes[0].bar(counts.keys(), counts.values(), color='red',align='center')
axes[0].set(title='Season')
axes[0].set_xticks(counts.keys())
plt.show()
你能发布一个<代码>火车['season']的样本吗?数值?@tom:请查看我的更新。
import pandas as pd
import collections
import matplotlib.pyplot as plt
import numpy as np
train = pd.read_csv('data/train.csv', parse_dates=[0])
fig, axes = plt.subplots(nrows=2)
counts = collections.Counter(train['season'].values)
axes[0].bar(counts.keys(), counts.values(), color='red',align='center')
axes[0].set(title='Season')
axes[0].set_xticks(counts.keys())
plt.show()