Python 组图
Group Plot in Python
我有一个 MySQL 查询生成以下 table:
Year
Month
Quarter
Sales
1992
January
1
701.0
1992
February
1
658.0
1992
March
1
731.0
1992
April
2
816.0
1992
May
2
856.0
1992
June
2
853.0
table 一直持续到 2021 年。现在我想在 python 中创建一个条形图,将年份和季度分组在 X 轴上。换句话说,想象一个带有 X 轴的图表有一年,其中显示了 4 个柱(每个季度),并且这一直持续到所有年份。
我无法弄清楚如何通过代码获得这个情节。我可以手动输入销售额并在列表中构建一个列表,但是对于 30 年的数据来说,这样做是无效的。
有什么建议吗?
如果你需要一个四分之一的条形图,你可以把你的查询转换成一个数据框,就像在那个代码中一样
import pandas as pd
years = [1999, 2000]
q1 = [10, 20]
q2 = [20, 10]
q3 = [30, 40]
df = pd.DataFrame({'q1': q1,
'q2': q2,
'q3': q3}, index=years)
df.plot.bar(rot=0)
要获得这样的情节:
或者,如果您更喜欢堆叠图,则可以使用此绘图线
df.plot.bar(stacked=True)
要获得这样的情节:
我有一个 MySQL 查询生成以下 table:
Year | Month | Quarter | Sales |
---|---|---|---|
1992 | January | 1 | 701.0 |
1992 | February | 1 | 658.0 |
1992 | March | 1 | 731.0 |
1992 | April | 2 | 816.0 |
1992 | May | 2 | 856.0 |
1992 | June | 2 | 853.0 |
table 一直持续到 2021 年。现在我想在 python 中创建一个条形图,将年份和季度分组在 X 轴上。换句话说,想象一个带有 X 轴的图表有一年,其中显示了 4 个柱(每个季度),并且这一直持续到所有年份。 我无法弄清楚如何通过代码获得这个情节。我可以手动输入销售额并在列表中构建一个列表,但是对于 30 年的数据来说,这样做是无效的。 有什么建议吗?
如果你需要一个四分之一的条形图,你可以把你的查询转换成一个数据框,就像在那个代码中一样
import pandas as pd
years = [1999, 2000]
q1 = [10, 20]
q2 = [20, 10]
q3 = [30, 40]
df = pd.DataFrame({'q1': q1,
'q2': q2,
'q3': q3}, index=years)
df.plot.bar(rot=0)
要获得这样的情节:
或者,如果您更喜欢堆叠图,则可以使用此绘图线
df.plot.bar(stacked=True)
要获得这样的情节: