Issue
When I'm adding the c option to a scatterplot in matplotlib, the x axis labels dissapear. Here's an example: https://github.com/Kornel/scatterplot-matplotlib/blob/master/Scatter%20plot%20x%20axis%20labels.ipynb
Here's the same example as in the notebook:
import pandas as pd
import matplotlib.pyplot as plt
test_df = pd.DataFrame({
"X": [1, 2, 3, 4],
"Y": [5, 4, 2, 1],
"C": [1, 2, 3, 4]
})
Now compare the result of:
test_df.plot(kind="scatter", x="X", y="Y", s=50);
To:
test_df.plot(kind="scatter", x="X", y="Y", c="C");
Where are the x axis labels? Is this a feature I'm missing?
Pandas version: 0.18.1 Matplotlib: 1.5.3 Python: 3.5.2
EDIT: The solution as pointed out by @Kewl is to call plt.subplots and specify the axes:
fig, ax = plt.subplots()
test_df.plot(kind="scatter", x="X", y="Y", s=50, c="C", cmap="plasma", ax=ax);
gives
P.S. It looks like a jupyter issue, the label is fine when called without a jupyter notebook
Solution
That looks like a strange bug with pandas plotting to me! Here's a way around it:
fig, ax = plt.subplots()
df.plot(kind='scatter',x='X', y='Y', c='C', ax=ax)
ax.set_xlabel("X")
plt.show()
This will give you the graph you expect:
Answered By - Kewl
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.