df = pd.DataFrame({"labels": ["This is a long label",
"And this is also a long label",
"Wow its a label thats pretty long",
"Can you follow the pattern here?"],
"values": [2.2, 1.2, 3.0, 4.1]})
在实际例子中,我有大约15个标签和值。鉴于此,我想显示单轴,标记为2.2,1.2,3.0和4.1,每个标记有相应的标签。我的标签很长,所以我认为它们需要对角显示或与其他类型的设备一起显示,以便标签保持清晰。
要明确我想要一个单轴而没有图形字段。它就像一个数字线,上面有值为2.2,1.2等的标记。标签上标注了抽动的含义。
我正在尝试,但还没有办法做这个熊猫或海狸。它甚至可能吗?
答案 0 :(得分:2)
绘制散点图,隐藏刺和& x轴使用annotate函数来放置文本。最后,玩定位直到对齐似乎正确
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.xaxis.set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.scatter([0]*len(df), df['values'], marker='d', s=100, c='r')
ax.set_xlim(-0.1,5)
for _, r in df.iterrows():
ax.annotate(r['labels'], xy=(0.20, r['values']))