我试图使用乳胶符号\odot
作为散点图中的标记,但我也需要乳胶样式的记号,但由于某些原因,这两个不能很好地配合使用。我可以成功地将marker=$\\odot$
与usetex=False
,like this一起使用,但是当我将其设置为true时(为了正确地使用tick字体),我得到了{usetex=True
并使用任何普通的pyplot标记,只是不涉及数学字体,但是可以在图例的标签中使用\odot
。我也已经尝试过用amsmath附加rc params,但是仍然得到type1cm错误。我也尝试过使用原始字符串文本,但没有效果。在
所以基本上,当usetex=True
时,我可以在图例的标签中使用数学符号,而不是作为实际的标记。以前有人经历过这个问题吗?在
我目前的工作是绘制一个大的未填充的圆,并对一个小的填充圆进行过度绘制(基本上是模拟odot)。然后我遇到了一个关于图例的问题,所以我基本上必须创建一个透明的图例来显示大的未填充的圆,然后用手在后面画出较小的填充圆like this,结果不稳定,但这有我需要的轴刻度字体。如果我必须改变轴的限制,这会变得非常令人沮丧,因为我必须重复这个过程,找出在哪里画出填充的小圆圈。在
有人知道有没有比这更好的工作?是否可以像我以前那样使用过绘图方案,然后创建一个自定义代理美工来在图例中显示\odot
符号(以不同的颜色/大小)?在
Mac OSX、matplotlib 1.4.2、python 2.7、matplotlib使用的是pdfTeX Throu TeX Live 2017/Mac Ports 2017
编辑:这是我的代码
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
f, ax1 = plt.subplots(1,1)
x = np.arange(20)
y = x
ax1.scatter(x, y, marker='$\\odot$', edgecolors='b', s=200, label = 'Test') #used with usetex=False
#ax1.scatter(x, y, marker='o', edgecolors='b', s=200, label = 'Test') #used with usetex=True
ax1.tick_params(labelsize=24)
leg = ax1.legend(scatterpoints=1, loc='lower right', borderaxespad=0., handletextpad=0.)#, fontsize=18) # borderpad=0.,)
我不知道在没有看到你的代码的情况下我能帮上多少忙,但这对我很有用:
如果这没用的话告诉我!在
相关问题 更多 >
编程相关推荐