Lui*_*uel 9 python fonts matplotlib seaborn
在尝试在Anaconda和Enthought for Mac中运行stanford.edu/~mwaskom/software/seaborn/的多个问题之后(很多依赖项和版本的问题),我能够从Ubuntu中的Enthought虚拟环境运行它(在VirtualBox上运行) .
在他们的一些教程之后,我重新创建了以下内容:
但令我困扰的是,使用的字体不是为Seaborn设计的字体,而是最接近的字体.
有人有调整matplotlib中字体选择的经验吗?关于如何使用matplotlib的字体管理器的任何好教程?
mwa*_*kom 14
正如Joe所说,默认情况下Arial没有安装在Ubuntu上,但它很容易安装.这是我在Travis上测试的,这是一个Ubuntu环境:
sudo apt-get install msttcorefonts -qq
Run Code Online (Sandbox Code Playgroud)
Seaborn还在样式控件的顶层显示字体选项,因此您也可以轻松使用系统上安装的字体选项.据我所知,你可以通过这种方式获得可能的字体列表:
import matplotlib as mpl
font_paths = mpl.font_manager.findSystemFonts()
font_objects = mpl.font_manager.createFontList(font_paths)
font_names = [f.name for f in font_objects]
print font_names
Run Code Online (Sandbox Code Playgroud)
找到想要使用的产品后,只需按照设置进行设置,例如:
sns.set(font="Verdana")
Run Code Online (Sandbox Code Playgroud)
当然,这必须在每个脚本/笔记本的顶部完成,这将产生seaborn图(这很烦人),因此改进非默认样式的使用是在0.3的路线图上.
好吧,如果你想使用Arial,你需要安装Microsoft核心字体.如果我没记错的话,Arial不能按照与大多数OSS相同的条款自由重新分发,因此您需要同意许可协议并自行安装.
但是,更一般地说,您只想调整rc参数.(可以在运行时通过matplotlib.rc
/ matplotlib.rcParams
或通过.matplotlibrc
文件完成.)
例如,seaborn基本上是这样做的(除其他外):
import matplotlib as mpl
mpl.rcParams['font.family'] = 'Arial'
Run Code Online (Sandbox Code Playgroud)
该错误是因为您没有在系统上的任何位置安装Arial字体.
您通常不希望直接触摸字体管理器.有很多例外,(例如使用特定的.ttf文件),但一般来说,你会想要坚持使用系统上安装的字体.您可能希望指定一个FontProperties
实例,但即使如此,通过其他关键字参数指定内容通常也更容易.
归档时间: |
|
查看次数: |
7441 次 |
最近记录: |