科学网

 找回密码
  注册

tag 标签: matplotlib

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

[转载]Python 绘图汇总(一)
dayon 2020-8-18 10:12
内容来源于公众号“云台书使” 气象绘图加强版(一)折线图 https://mp.weixin.qq.com/s/k_Bv_DgD3i4c7uQUIceiNQ 气象绘图加强版(二)散点图 https://mp.weixin.qq.com/s/vJ2LfajcAMsoFXd1B2GOIA 气象绘图加强版(三)柱状图 https://mp.weixin.qq.com/s/YSt_iH67TZHQ-RYesc9Pkg 气象绘图加强版(四)—坐标名、刻度、轴 https://mp.weixin.qq.com/s/L-GokBXrwwoMQQZ7cnaqkA
个人分类: 科研笔记|1629 次阅读|2 个评论
matplotlib 中的颜色大全
dayon 2020-4-23 00:01
matplotlib.legend()函数用法解析(传送) matplotlib.legend 官方说明(传送) 颜色大全( 更详尽传送门 )
个人分类: 科研笔记|2 次阅读|0 个评论
matplotlib 绘图时希腊字符和上下标的添加方式
dayon 2020-4-22 23:50
1. 希腊字符的添加需要相应的代号进行转化 #代号放在$$中,\\u0394被转义,也可以将T=0.5h放入,其不会被转义 plt.xlabel('Time($\\u0394$T=0.5h)') 或者plt.xlabel(u'Time($\\u0394T=0.5h$)')#默认时用u的方式读取,这时''前面的u可省略; 或者plt.xlabel(r'Time($\\alpha$T=0.5h)')#用前面加r的方式读取,这样后面可以直接用alpha; plt.ylabel('Q(m$^3$/s)',fontlabel)#^3将被转义为上标,下标为_3 2. 代号表 2. 更加详细的说明(传送门)
个人分类: 科研笔记|1 次阅读|0 个评论
[转载]Phython-matplotlib
peluo 2015-4-19 12:23
http://matplotlib.org/ http://sebug.net/paper/books/scipydoc/matplotlib_intro.html http://www.cnblogs.com/wei-li/archive/2012/05/23/2506940.html#log Install scipy module for Python http://www.iram.fr/IRAMFR/GILDAS/doc/html/gildas-python-html/node39.html how to check the version of a installed module in python? http://mail.scipy.org/pipermail/scipy-user/2011-November/031096.html
个人分类: Linux|3 次阅读|0 个评论
[转载]Matplotlib中文显示问题
a582234617 2013-11-27 20:15
转载自: http://blog.csdn.net/rumswell/article/details/6544377 这是我见过最简单,最好用的方法,代码可以直接拿来放在自己代码开头,无需修改配置文件,非常方便。 在 IDLE 和 Enthought Cannopy 里均测试通过 #Matplotlib中文显示有问题,当然可以修改配置文件matplotlibrc ,不过较为麻烦.其实只要在代码中指定字体就可以了 #第一种方法: # -*- coding: utf-8 -*- from pylab import * mpl.rcParams = #指定默认字体 mpl.rcParams = False #解决保存图像是负号'-'显示为方块的问题 t = arange(-5*pi, 5*pi, 0.01) y = sin(t)/t plt.plot(t, y) plt.title(u'这里写的是中文') plt.xlabel(u'X坐标') plt.ylabel(u'Y坐标') plt.show() #第二种方法 # -*- coding: utf-8 -*- from pylab import * myfont = matplotlib.font_manager.FontProperties(fname='C:/Windows/Fonts/msyh.ttf') mpl.rcParams = False t = arange(-5*pi, 5*pi, 0.01) y = sin(t)/t plt.plot(t, y) plt.title(u'这里写的是中文',fontproperties=myfont) #指定字体 plt.xlabel(u'X坐标',fontproperties=myfont) plt.ylabel(u'Y坐标',fontproperties=myfont) plt.show()
个人分类: Python3.3.2学习笔记|2367 次阅读|0 个评论
Matplotlib1.3.0_win7 64_安装教程
热度 1 a582234617 2013-11-2 09:13
Matplotlib 在 windows 下安装有些复杂,折腾了很久,终于搞定了,下面把我的安装教程分享给大家。 前面步骤转载自: Daniel 的技术笔记 http://blog.csdn.net/daniel_ustc/article/details/9714163 Matplotlib 的安装可以参见 官网链接 http://matplotlib.org/users/installing.html 下面总结步骤如下: windows 平台上 下载 .exe 格式 直接安装。 1,python 下载安装 下载地址 。 2 ,安装你所需要版本 ( 这个要根据步骤 1 的 python 版本 ) 的 Matplotlib , 下载地址 。 下面安装 Matplotlib 依赖的库 3 , 对于标准版的 Python 来说,要使用 Matplotlib, 还需要安装 numpy 模块, 其下载地址 。 4 , msvcp71.dll, 在某些系统上,你可能还需要 下载 msvcp71.dll 库。下载 这个档案,解压后把它拖到 c:\windows\system32 目录中。 5, 运行一个简单的程序例子: view plain copy 1. import matplotlib.pyplot as plt 2. plt.plot( ) 3. plt.ylabel( 'some numbers' ) 4. plt.show() 发现出现了下面的错误: raise ImportError(matplotlib requiresdateutil) ImportError: matplotlib requires dateutil 这个需要 dateutil ,你可以到这里 下载 安装。 把 dateutil 安装完后又出现如下错误: raise ImportError(matplotlib requirespyparsing) ImportError: matplotlib requires pyparsing 需要 pyparsing 到这里 下载 安装 。 安装完 pyparsing 出现如下错误: No module name six 去 pypi 上下载 six-1.4.1.tar.gz 这个安装很简单,直接把它解压到 python 的安装目录就 ok 了,我的是 C:\Python33 在 Ipython 里测试如下 在程序安装过程中如果遇到需要安装的一些依赖包,你可以到 这里查找 ,确实是个好资源。 可以根据所画图形的需要 在下面的链接里选择相应的图形 进行修改,绘出自己所需的图像。 example : http://matplotlib.org/examples/index.html , gallery : http://matplotlib.org/gallery.html 注意绘图时中文的解决方法 , 在 .py 文件头部加上如下内容: # -*- coding: utf-8 -*- from pylab import * mpl.rcParams = # 指定默认字体 mpl.rcParams = False # 解决保存图像是负号 '-' 显示为方块的问题
个人分类: Python3.3.2学习笔记|14544 次阅读|2 个评论
让linux下的matplotlib显示中文
热度 3 yanxiaoyong 2012-5-3 03:13
中文,又是中文………… linux下各种软件的中文支持确是个不小的问题,最近做的工作与汉字相关,反反复复遇到这类问题。 今天(确切说是昨天)在用matplotlib画图的时候,中文字体总是显示为小方块。按网上的方法修改rc文件后,show方法能显示中文,保存png也没问题,但是保存成pdf或eps时报错 -_-! 论文里肯定要插矢量图的,所以不得不解决。 以前在windows下的时候,解决这个问题的方法是偷梁换柱 —— 用一个中文turetype字体替换matplotlib的vera.ttf。但是,在linux下,根本就找不到vera.ttf这个文件! 这让我很郁闷,后来我在debug模式下查看matplotlib的异常信息,发现matplotlib在找不到适合字体时,会默认使用cmb10.ttf字体,我猜测这个cmb10.ttf应该就等同于windows下的vera.ttf,于是果断用一个中文字体覆盖了cmb10.ttf(位置在/usr/share/matplotlib/mpl-data/fonts/ttf/),嘿嘿,果然成功了,效果灰常不错! (我的系统是lubuntu 10.04,其他linux平台下如果在上述目录找不到cmb10.ttf,就find或locate一下吧。)
个人分类: Python|19476 次阅读|10 个评论
如何在matplotlib里显示中文
热度 1 summersubdue 2010-7-11 11:56
缺省情况下,matplotlib是无法显示中文的,主要原因是没有指定中文字体(文件)。通过修改matplotlib的unicode_demo(http://matplotlib.sourceforge.net/examples/pylab_examples/unicode_demo.html),将unicode字符串用中文填充,显示的是方块。该问题解决的方法有两种,一个是在python代码中指定字体,另一个是在配置文件matplotlibrc里指定字体。或者两种方法同时使用,在代码中没有显式的指定参数值时用缺省值,包括配置文件matplotlibrc里指定的值,代码里有显式指定的参数值时用代码里指定的值。 方法一:代码中指定中文字体 该方法主要使用matplotlib.font_manager模块 # -*- coding: utf-8 -*- import matplotlib.pyplot as plt import matplotlib zhfont1 = matplotlib.font_manager.FontProperties(fname='/usr/share/fonts/cjkunifonts-ukai/ukai.ttc') plt.xlabel(u横坐标xlabel,fontproperties=zhfont1) 这里使用truetype楷体中文字体文件ukai.ttc。关于系统中安装了哪些中文字体见下面如何确定系统中的中文字体。 方法二:rc文件中指定缺省字体 该方法设置rc文件中的参数,该rc文件为matplotlibrc,查找到该文件后,把该文件复制到$HOME/.matplotlib/文件夹下,在文件中找到#font.family : sans-serif,虽然有注释,但该语句说明font.family的缺省值是sans-serif,这是英文的一大类无衬线字体,线条粗细基本一样,就像中文的黑体,如果font.family设为sans-serif,那就要在下面设置sans-serif对应的具体字体为中文,这需要设置font.sans-serif,缺省的值为 #font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 可见这些字体都是粗细一样的。去掉注释符,添加中文字体AR PL UMing CN得到 font.sans-serif : AR PL UMing CN,Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif axes.unicode_minus : False 这里还设值了axes.unicode_minus为False,不用unicode的负号而是使用连字符(hypen,hyphen),否则坐标轴的负号将显示为方块,这样plt.xlabel(u横坐标xlabel)等语句就可正确显示中文了 上面我们把宋体AR PL UMing CN这个有衬线的宋体字归到了无衬线(sans-serif)的字体族(family)里,严格的说是不恰当的,但linux里的中文字体没有几个,所以只有先解决显示的问题。要使AR PL UMing CN归到有衬线(serif)的字体族(family)里并能正确显示只需多设置一个参数font.family为serif,然后设置font.serif,例如 f ont.family : serif font.serif : AR PL UMing CN,Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif 绘图示例 该示例图看上去有点杂乱,其实是利用了matplotlib能在3D坐标轴中添加文字的方法,三段文字起始于三维空间的某一点,然后分别朝着x,y,z三个轴的方向书写,其中系统:fedora 10.....这段文字朝z方向,其他两段文字类似。坐标的标签与刻度有点重叠,主要是因为刻意缩小图像尺寸而没有缩小字体所致。 如何确定系统中的中文字体 不管是以哪种方式,首先都要知道系统里有哪些中文字体文件,在shell里运行fc-list程序 $ fc-list :lang=zh WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Medium,中等 AR PL UMing TW:style=Light AR PL UMing HK:style=Light AR PL UMing CN:style=Light AR PL UKai TW MBE:style=Book WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Medium,中等 AR PL UKai CN:style=Book AR PL UKai HK:style=Book AR PL UKai TW:style=Book WenQuanYi Bitmap Song:style=Regular AR PL UMing TW MBE:style=Light 这里用fc-list找出语言为zh的字体文件,可见系统里中文字体少的可怜。知道了这些字体,还需要进一步了解这些字体对应的文件,可以运行fc-match程序得到, $ fc-match -v AR PL UKai CN Pattern has 32 elts (size 48) family: AR PL UKai CN(s) familylang: en(s) style: Book(s) stylelang: en(s) fullname: AR PL UKai CN(s) fullnamelang: en(s) slant: 0(i)(s) weight: 80(i)(s) width: 100(i)(s) size: 12(f)(s) pixelsize: 12.5(f)(s) spacing: 90(i)(w) foundry: unknown(s) hintstyle: 3(i)(s) hinting: FcTrue(s) verticallayout: FcFalse(s) autohint: FcFalse(s) globaladvance: FcFalse(w) file: /usr/share/fonts/cjkunifonts-ukai/ukai.ttc(s) index: 0(i)(s) outline: FcTrue(s) scalable: FcTrue(s) dpi: 75(f)(s) scale: 1(f)(s) minspace: FcFalse(w) charset: 0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff 0001: ffffffff ffffffff ffffffff ffffffff 00800000 00018003 fffffff0 ff3f3fcf 0002: cfffffff 008fffc0 08130010 00200502 00000608 30000000 2f002fc0 00000c00 02f8: 00000000 08000020 00000001 01000000 00100000 00000040 00002000 00000000 02f9: 00000000 00000000 00000000 00000000 00100000 10040000 00100000 00000000 (s) lang: aa|af|ast|ay|bg|bi|bin|br|bs|ca|ch|co|cs|cy|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|ga|gd|gl|gn|gv|ho|hr|hu|ia|ibo|id|ie|io|is|it|ki|kl|kum|kw|la|lb|lt|lv|mg|mh|mi|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|se|sel|shs|sk|sl|sma|smj|smn|so|sq|ss|st|sv|sw|tn|tr|ts|ven|vi|vo|vot|wa|wen|wo|xh|yap|yo|zh-cn|zh-sg|zh-tw|zu(s) fontversion: 13107(i)(s) capability: otlayout:DFLT otlayout:bopo otlayout:cyrl otlayout:grek otlayout:hani otlayout:kana otlayout:latn(s) fontformat: TrueType(s) embeddedbitmap: FcTrue(s) decorative: FcFalse(s) 这里只查阅了字体AR PL UKai CN,可以看到其对应文件/usr/share/fonts/cjkunifonts-ukai/ukai.ttc,其他的字体信息也可以通过该方法查得。
个人分类: 日记|40035 次阅读|1 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 17:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部