gpt4 book ai didi

python - 使用matplotlib绘制excel等2级xtick标签

转载 作者:行者123 更新时间:2023-12-04 21:02:20 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to add group labels for bar charts in matplotlib

(2 个回答)


5年前关闭。




现在我有一个这样的数据框:

| category1 | 142  |       |      |      | 166  |      |      | 186  |      |      |      |
|-----------|------|-------|------|------|------|------|------|------|------|------|------|
| category2 | 626 | 346 | 211 | 200 | 255 | 250 | 245 | 370 | 340 | 265 | 260 |
| y | 0.26 | -0.54 | 2.07 | 3.15 | 0.53 | 0.72 | 2.03 | 0.71 | 0.36 | 1.83 | 0.78 |

在 excel 中,我可以绘制带有 2 级 xticklabels 的“带标记线”图:categrory1 和 category2。

有没有使用 python matplotlib 绘制类似图的好方法?

enter image description here

到目前为止,我只能添加 1 级 xticklabel:
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("./2level_test.csv", delimiter = ",")
column_name = df.columns.values.tolist()
print( column_name)
df = df.sort_values(by=["category1", "category2"], ascending=[True, True])
numRows = len(df.index)
index = range(1, numRows+1, 1)
y = df["y"].values.tolist()
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8], label="ax")
ax.plot(index, y, linestyle='--', color = 'g', marker= '^', markeredgewidth = 1, markeredgecolor='r', markerfacecolor='none', label='y')
# title and lables
ax.set_xticks(index)
category2 = df["category2"].values.tolist()
ax.set_xticklabels(category2, rotation=270)
ax.set_ylabel("y")
ax.set_xlabel("category2")
plt.show()

enter image description here

最佳答案

感谢 James 的提醒,使用 Pandas 图,我可以将 2 个类别合并为 1 个 xtick 标签,但仍然不是我想要的。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("./2level_test.csv", delimiter = ",")
df = df.sort_values(by=["category1", "category2"], ascending=[True, True])
df.plot(x=['category1', 'category2'], y='y', linestyle='--', color = 'g', marker= '^', markeredgewidth = 1, markeredgecolor='r', markerfacecolor='none', label='y')
plt.show()

enter image description here

关于python - 使用matplotlib绘制excel等2级xtick标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33940405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com