【超简单超清楚】mac环境matplotlib的中文配置

大家知道,matplotlib库中没有中文字体

所以我们如果需要显示一些中文label就需要进行配置。

我的环境: mac +  homebrew安装的python3.5 + matplotlib 2.0 

参考了网上很多文章, 很多方法在我这里都不可行。

比如:

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

该方法在我这里并不可行 微笑


######################################################


亲测可行方法


1.  比较蠢,考诉matplotlib你要用哪个中文字体。

另外,不需要把这些字体copy到

/usr/local/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/ 只需要告诉matplotlib路径就行了。

from matplotlib.font_manager import FontProperties
font=FontProperties(fname='/Library/Fonts/Hanzipen.ttc',size=10)
ax1.set_xticklabels(ability_labels,fontproperties=font)

另外就是这个设置字体,要找起来非常简单,打开Alfred,输入font



好多字体可以选呢~ 我们选择第一个字体册,然后选一个你喜欢的中文字体。


我随便选了一个翩翩体,设置FontProperties为这个路径,然后告诉你的中文label用这个字体即可。

效果如下:



2. 参考自知乎 https://www.zhihu.com/question/25404709  @hengchao0248 的回答

不需要下载添加任何字体!

import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
	print i


首先打印出你的font_manager的ttflist中所有注册的名字,你会得到246个注册名字,有常见的Times New Roman,也有不太常见的。

我大致看了一下,有一些看着就很像中文字体啊,比如这个STFangsong 仿宋啊有木有! Weibei SC 这个看着像北魏啥的

然后直接在python文件中加一条语句就ok了:

plt.rcParams['font.family']=['STFangsong']


对,没有错,选一个你喜欢的,设置font.family, 然后就OK了。那些 matplotlibrc 文件,~/.matplotlib/下的cache文件,统统不用改!!!只需要加一条设置font.family 的句子就行了!!!








另外,推荐一下 @Ray 的答案,我没有试,但是我觉得这是一个很不错的solution。

作者:Ray
链接:https://www.zhihu.com/question/25404709/answer/261291501
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

环境: Python 2.7

在Mac上和Windows上进行过测试,发现目前最简洁的方案应该是Pyplotz。基于matplotlib,无需修改任何设置,也可以和matplotlib,pandas,seaborn进行无缝衔接。关键是,跨平台还无需设置。目前支持 Python 2.7 和 Python 3。

(1)安装方式:

使用pip安装: pip install pyplotz

(2)使用示例

201528015329004/pyplotz

(3)这是它的github网站:

201528015329004/pyplotz





### LlamaIndex 多模态 RAG 实现 LlamaIndex 支持多种数据类型的接入与处理,这使得它成为构建多模态检索增强生成(RAG)系统的理想选择[^1]。为了实现这一目标,LlamaIndex 结合了不同种类的数据连接器、索引机制以及强大的查询引擎。 #### 数据连接器支持多样化输入源 对于多模态数据的支持始于数据收集阶段。LlamaIndex 的数据连接器可以从多个异构资源中提取信息,包括但不限于APIs、PDF文档、SQL数据库等。这意味着无论是文本还是多媒体文件中的内容都可以被纳入到后续的分析流程之中。 #### 统一化的中间表示形式 一旦获取到了原始资料之后,下一步就是创建统一而高效的内部表达方式——即所谓的“中间表示”。这种转换不仅简化了下游任务的操作难度,同时也提高了整个系统的性能表现。尤其当面对复杂场景下的混合型数据集时,良好的设计尤为关键。 #### 查询引擎助力跨媒体理解能力 借助于内置的强大搜索引擎组件,用户可以通过自然语言提问的形式轻松获得所需答案;而对于更复杂的交互需求,则提供了专门定制版聊天机器人服务作为补充选项之一。更重要的是,在这里实现了真正的语义级关联匹配逻辑,从而让计算机具备了一定程度上的‘认知’功能去理解和回应人类意图背后所蕴含的意义所在。 #### 应用实例展示 考虑到实际应用场景的需求多样性,下面给出一段Python代码示例来说明如何利用LlamaIndex搭建一个多模态RAG系统: ```python from llama_index import GPTSimpleVectorIndex, SimpleDirectoryReader, LLMPredictor, PromptHelper, ServiceContext from langchain.llms.base import BaseLLM import os def create_multi_modal_rag_system(): documents = SimpleDirectoryReader(input_dir='./data').load_data() llm_predictor = LLMPredictor(llm=BaseLLM()) # 假设已经定义好了具体的大型预训练模型 service_context = ServiceContext.from_defaults( chunk_size_limit=None, prompt_helper=PromptHelper(max_input_size=-1), llm_predictor=llm_predictor ) index = GPTSimpleVectorIndex(documents, service_context=service_context) query_engine = index.as_query_engine(similarity_top_k=2) response = query_engine.query("请描述一下图片里的人物表情特征") print(response) ``` 此段脚本展示了从加载本地目录下各类格式文件开始直到最终完成一次基于相似度排序后的top-k条目返回全过程。值得注意的是,“query”方法接收字符串参数代表使用者想要询问的内容,而在后台则会自动调用相应的解析模块并结合先前准备好的知识库来进行推理计算得出结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值