我试图在matplotlib中做一个散点图,我找不到向点添加标签的方法.例如:
scatter1=plt.scatter(data1["x"], data1["y"], marker="o",
c="blue",
facecolors="white",
edgecolors="blue")
Run Code Online (Sandbox Code Playgroud)
我希望"y"中的点标记为"点1","点2"等.我无法弄明白.
我有以下字典:
a = {'?': 10, '???': 23, '': 13, '': 10, '': 13}
Run Code Online (Sandbox Code Playgroud)
我想将表情符号绘制为条形图,然后在条形图上绘制它们.起初我喜欢这里(带annotate),但它看起来很糟糕,而且它不支持一些表情符号.
import matplotlib.pyplot as plt
ax = plt.subplot(111)
ax.bar(range(1,6), a.values())
for label, x, y in zip(a.keys(), range(1,6), a.values()):
plt.annotate(
label,
xy=(x, y), xytext=(10,10),
textcoords='offset points', ha='right', va='bottom',
bbox=dict(boxstyle='round,pad=0.5', alpha=0),
fontname='Segoe UI Emoji',
fontsize=20)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.set_xticks([])
plt.show()
Run Code Online (Sandbox Code Playgroud)
正如我所说,看起来很糟糕:
我如何绘制表情符号,以便matplotlib看起来很好看?
最好的办法是使用不同的字体在matplotlib将支持这些表情符号(我试图用一些不同的值plt.rcParams['font.family'],但没有成功),但如果不存在,它图像将工作太(但如何?)
我不想开始网络抓取图像并标记它们(因为我很确定有人已经这样做了).
我正在使用python 3,Spyder IDE,matplotlib版本2.0.2和anaconda.
有什么建议?