I'm running with python 3.7.6 and I have the following dataframe:
         col_1  col_2  col_3  col_4
GP           1      1      1      1
MIN          1      1      1      1
PTS          1      1      1      1
FGM          1      1      0      1
FGA          0      1      0      0
FG%          0      1      1      1
3P Made      0      1      1      0
AST          0      1      1      0
STL          0      1      0      0
BLK          0      1      1      0
TOV          0      0      1      0
I want to plot the dataframe as scatter plot or other (dot's plot) where:
X axis - dataframe indexes
Y axis - dataframe columns
points on the graph are according to the values from dataframe (1 - show on graph and 0 not)
How can I do it ?
I'm not sure about scatter, but you can use imshow to display the binary values:
fig, ax = plt.subplots()
ax.imshow(df, cmap='gray')
ax.set_xticks(range(df.shape[1]))
ax.set_xticklabels(df.columns)
ax.set_yticks(range(df.shape[0]))
ax.set_yticklabels(df.index)
plt.show()
Output:

Update: scatter also possible:
plt.scatter(*np.where(df.T))
plt.xticks(range(df.shape[1]), df.columns)
plt.yticks(range(df.shape[0]), df.index)
plt.show()
Output:

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With