知行迭代
导航
首页
最近更改
随机页面
常用
分类目录
Linux命令
Mediawiki常用
电脑技巧
工具
链入页面
相关更改
特殊页面
页面信息
登录
查看“Matplotlib”的源代码
←
Matplotlib
页面
讨论
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:[
[1]
]
您可以查看和复制此页面的源代码。
Matplotlib是[[Python]]的一个绘图库。使用它可以方便的绘制各种图形,如直方图,散点图,3D图等。常用于数据可视化。 ==简介== ===时间轴=== ===安装=== Matplotlib官方在[https://pypi.org/project/matplotlib/ pypi]上发行,所以可使用[[pip]]安装: pip install -U matplotlib 一些科学计算包,已经包含了Matplotlib,可以不安装。如[[Anaconda]],[https://www.enthought.com/products/canopy/ Canopy]和[https://www.activestate.com/activepython/downloads ActiveState]等科学计算包。 {{了解更多 |[https://matplotlib.org/users/installing.html matplotlib:安装指南] |[https://pypi.org/project/matplotlib/ PyPi:matplotlib] |[https://matplotlib.org/stable/users/installing_source.html#install-from-source matplotlib:从源代码安装] }} ==图表== 绘图函数基本都在pyplot模块中,一般导入方式:<code>import matplotlib.pyplot as plt</code>,下面的plt指的是matplotlib.pyplot模块。 ===基本图表=== {| class="wikitable" style="width: 100%; ! 名称 ! 函数 ! 描述 |- | 折线图 | plt.plot() | |- | 散点图 | plt.scatter() | |- | 条形图 | plt.bar() | |- | 直方图 | plt.hist() | |- |饼图 |[https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pie.html plt.pie()] |常用参数:<br \><code>x</code> 数据,一维结构。<br \><code>labels</code> 标签,列表类型。为每个扇形添加标签。<br \><code>autopct</code> 数值格式,字符串或函数类型。如'%1.1f%%'设置1位小数。<br \><code>explode</code> 突出显示,列表类型。将某些扇形偏移出来。<br \><code>textprops</code> 字体样式,字典类型。设置字体,字体大小等。<br \><code>wedgeprops</code> 扇形样式,字典。设置扇形间隔的宽度、颜色等。 | <syntaxhighlight lang="python" > import matplotlib.pyplot as plt labels = ['Frogs', 'Hogs', 'Dogs', 'Logs'] sizes = [15, 30, 45, 10] explode = plt.pie(sizes, explode=[0, 0.1, 0, 0], #第二个 labels=labels, autopct='%1.1f%%') </syntaxhighlight> |} ==颜色== ==设置== ===matplotlib显示中文=== matplotlib有时中文不能显示,是由于matplotlib可用字体中没有中文[[字体]],或matplotlib字体设置中没有中文字体,所以显示乱码。 matplotlib中[https://matplotlib.org/stable/api/font_manager_api.html matplotlib.font_manager]模块用于跨平台查找、管理和使用字体的模块。可以先看matplotlib可用字体: <syntaxhighlight lang="python" > from matplotlib import font_manager print({f.name for f in font_manager.fontManager.ttflist}) </syntaxhighlight> matplotlib使用的字体主要来自3个地方,操作系统自带、matplotlib自带和指定字体。 <syntaxhighlight lang="bash" > # 操作系统中有哪些中文字体 fc-list :lang=zh # Linux系统,终端执行命令 C:\Windows\Fonts # Windows系统浏览文件夹,有显示中文的字体 # 查看操作系统中有哪些字体 import matplotlib.pyplot as plt matplotlib.font_manager.findSystemFonts() # matplotlib自带字体 import matplotlib matplotlib.get_data_path() # 数据目录下的font目录 </syntaxhighlight> 方法一,在文件开始处,使用rcParams动态修改matplotlibrc设置。 <syntaxhighlight lang="python" > import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Microsoft JhengHei' #plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei'] #import matplotlib #matplotlib.rcParams[‘font.sans-serif] = [‘SimHei’] plt.plot((-1,2,3),(-2,-1,5)) plt.title("标题-简体中文") plt.ylabel("x轴") plt.xlabel("y轴") plt.show() </syntaxhighlight> 方法二,在使用处设置,在需要用到中文字体的地方,都加上一个字体属性。 <syntaxhighlight lang="python" > import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font_sh = FontProperties(family='SimHei', size=24, weight='bold') # 选择一个matplotlib可用字体 font_notos = FontProperties(fname='/path/to/NotoSansCJKsc-Regular.otf', size=16) # 指定一个字体,可以是相对路径或绝对路径 plt.plot([0, 1], [-1, 2]) plt.title('中文标题', fontproperties=font_sh ) plt.ylabel("x轴", fontproperties=font_notos ) plt.xlabel("y轴", fontproperties='SimHei') plt.show() </syntaxhighlight> 方法三、修改配置文件matplotlibrc <syntaxhighlight lang="python" > import matplotlib # 查看matplotlibrc位置 print( matplotlib.matplotlib_fname() ) </syntaxhighlight> 选择一个matplotlib可用字体,或将字体文件放入matplotlib自带字体文件夹。 修改matplotlibrc文件中的 font.family 和 font.sans-serif。 font.family设置字体家族,可选serif(衬线字体)、sans-serif(无衬线字体)、monospace、cursive和fantasy。 font.sans-serif设置无衬线字体的默认顺序。 <syntaxhighlight lang="bash" > font.family: sans-serif font.sans-serif:Source Han Sans SC, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif </syntaxhighlight> 设置之后,重启没有生效,因为matplotlib缓存目录下fontlist-v330.json文件缓存了可用字体,需要删除该缓存文件。 <syntaxhighlight lang="python" > import matplotlib matplotlib.get_cachedir() # 查看缓存目录 # matplotlib.get_configdir() # 查看配置目录 </syntaxhighlight> {{了解更多 |[https://matplotlib.org/stable/api/font_manager_api.html matplotlib API:matplotlib.font_manager] }} ===annotate()文本注释=== ==资源== ===官网=== *[https://matplotlib.org/ Matplotlib] *[https://matplotlib.org/contents.html Matplotlib 文档] *[https://matplotlib.org/tutorials/index.html Matplotlib 教程] *[https://matplotlib.org/api/index.html Matplotlib:API] *[https://matplotlib.org/api/pyplot_summary.html Matplotlib:API-pyplot函数参考] ===教程=== *[https://mofanpy.com/tutorials/data-manipulation/plt/ 莫烦Python:Matplotlib画图] *[https://www.matplotlib.org.cn/index.html Matplotlib中文翻译文档] ===书籍=== *《Python编程从入门到实践》 ===相关文章=== *[https://zh.wikipedia.org/wiki/Matplotlib 维基百科:Matplotlib ] [[分类:数据分析]]
本页使用的模板:
模板:了解更多
(
查看源代码
)
返回至“
Matplotlib
”。