如何在Python matplotlib中使用分类变量更改x轴和y轴刻度?
我想根据两个分类变量,车身尺寸(“convertibe”、“硬顶”、“掀背车”、“轿车”、“货车”)和驱动轮(“四轮驱动”、“前轮驱动”、“后轮驱动”)在热图中绘制汽车的平均价格(数字变量) 数据帧:如何在Python matplotlib中使用分类变量更改x轴和y轴刻度?,python,pandas,matplotlib,Python,Pandas,Matplotlib,我想根据两个分类变量,车身尺寸(“convertibe”、“硬顶”、“掀背车”、“轿车”、“货车”)和驱动轮(“四轮驱动”、“前轮驱动”、“后轮驱动”)在热图中绘制汽车的平均价格(数字变量) 数据帧: drive-wheels body-style price 0 4wd hatchback 7603.000000 1 4wd sedan 12647.333333 2 4wd
drive-wheels body-style price
0 4wd hatchback 7603.000000
1 4wd sedan 12647.333333
2 4wd wagon 9095.750000
3 fwd convertible 11595.000000
4 fwd hardtop 8249.000000
5 fwd hatchback 8396.387755
6 fwd sedan 9811.800000
7 fwd wagon 9997.333333
8 rwd convertible 23949.600000
9 rwd hardtop 24202.714286
10 rwd hatchback 14337.777778
11 rwd sedan 21711.833333
12 rwd wagon 16994.222222
使用此代码:
df_test = df[["drive-wheels", "body-style", "price"]]
df_grp = df_test.groupby(["drive-wheels", "body-style"], as_index=False).mean()
print(df_grp)
df_pivot = df_grp.pivot(index="drive-wheels", columns="body-style")
print(df_pivot)
plt.pcolor(df_pivot, cmap="RdBu")
plt.colorbar()
plt.xlabel("body-style")
plt.ylabel("drive-wheels")
plt.show()
我得到以下结果:
但是,我希望在两个轴上都勾选它们的分类值,如下所示:
如何在分类值中标记记号?这可以使用库轻松完成: 删除代码的plt部分并插入此代码:
import seaborn as sns
df_pivot = df_pivot.fillna(0)
sns.heatmap(df_pivot, cmap="RdBu")
我看不到代码中创建这些图的部分。你确定这就是产生这个的代码吗?@MattR对不起,你是对的。我在中编辑了它。你能发布你的df吗?@ImportanceOfBeingErnest评论中的链接显示了它,并且欢迎你。如果这解决了您的问题,请随意单击我的答案旁边的复选标记。:)一侧注意:为了保持轴不旋转,请使用:plt.yticks(旋转=0):)