我写下了一段代码,用于根据包含 40
行和 5
列的数据集绘制命中图。数据是从下到上绘制的。
如何更改它以便我的数据绘图从上到下开始?
我使用了 plt.invert_yaxis()
但它显示错误:
AttributeError: 'module' object has no attribute 'invert_yaxis'
到目前为止,这是我的代码:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
df = pd.read_csv("/home/jai/Desktop/jax.csv")
print df
plt.pcolor(df)
plt.invert_yaxis()
plt.yticks(np.arange(0.5, len(df.index), 1), df.index)
plt.xticks(np.arange(0.5, len(df.columns), 1), df.columns)
plt.show()
旁边它没有显示每个单元格(值)的轮廓,我该如何添加它?
invert_yaxis
是 Axes
对象的一种方法。如果您使用 matplotlib
面向对象的方法,您可以在轴上调用 invert_yaxis
fig,ax = plt.subplots(1)
ax.pcolor(df)
ax.invert_yaxis()
或者,您可以使用 plt.gca()
获取当前轴,然后调用 invert_yaxis()
plt.gca().invert_yaxis()
关于第二个问题:
尝试设置 edgecolors kwarg。例如:
pcolor(df,edgecolors='k')
应该在每个单元格周围设置黑色轮廓
我是一名优秀的程序员,十分优秀!