Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Matplotlib和OSX中使用数学模式和下标时偏移量错误_Python_Macos_Matplotlib_Math Mode - Fatal编程技术网

Python 在Matplotlib和OSX中使用数学模式和下标时偏移量错误

Python 在Matplotlib和OSX中使用数学模式和下标时偏移量错误,python,macos,matplotlib,math-mode,Python,Macos,Matplotlib,Math Mode,我有一些图,我想在一些标签中使用子索引,但每当我使用数学模式时,所有标签都会移位。我可以为所有标签设置一些偏移量吗?我在使用数学模式时有什么遗漏吗 这是标签中没有数学模式的绘图: 这就是数学模式下的情况(注意记号): 作为参考,这里是我的完整代码(我从以下网站获得堆叠代码): 更新:问题出在用于交互式显示的后端上 按照注释中提供的提示,我尝试将其写入文件,标签显示正确。问题似乎出在MacOSX后端 达尔文上的Python 2.7.9(默认,2014年12月11日,02:36:08)[GCC

我有一些图,我想在一些标签中使用子索引,但每当我使用数学模式时,所有标签都会移位。我可以为所有标签设置一些偏移量吗?我在使用数学模式时有什么遗漏吗

这是标签中没有数学模式的绘图:

这就是数学模式下的情况(注意记号):

作为参考,这里是我的完整代码(我从以下网站获得堆叠代码):

更新:问题出在用于交互式显示的后端上

按照注释中提供的提示,我尝试将其写入文件,标签显示正确。问题似乎出在MacOSX后端

  • 达尔文上的Python 2.7.9(默认,2014年12月11日,02:36:08)[GCC 4.2.1兼容苹果LLVM 5.1(clang-503.0.40)]
  • matplotlib.版本1.4.3
  • matplotlib.get_backend()MacOSX

Matplotlib的MacOSX后端似乎有一个bug。为了解决这个问题,我不得不切换后端。我尝试了FAQ()中的几个,并使用WXAgg获得了最佳结果。TkAgg非常缓慢,WX不支持数学模式。 如果有人感兴趣,则在导入pyplot之前要添加的代码为:

import matplotlib
matplotlib.use('WXAgg')
以下是结果(所有结果看起来略有不同):

WXAgg

特卡格

WX

您使用的是什么后端?这可能是OSX后端中的错误。如果必须使用png,它看起来还好吗?在Ubuntu 15.04、Python 2.7.9、matplotlib 1.4.2和Agg后端中测试了您的代码。xaxis和图例中的标签均显示正常。顺便说一句,如果你想让你的标签看起来像普通文本,你可以使用r'$\mathregular{m_%d}$'。为什么不使用
plt.rc('font',family='serif')
?@ThePredator好吧,
plt.rc('font',family='serif')
对你的下标没有多大帮助…问题似乎是在MacOSX后端显示到屏幕上的时候,我应该向Matplotlib报告错误吗?
import matplotlib
matplotlib.use('WXAgg')