zoukankan      html  css  js  c++  java
  • ArcGIS10中matplotlib画图时的中文设置

    利用GIS的数据批量生成XY的图形图像文件,可以直接使用Python。一般大家都是用matplotlib,中文设置的问题参看了许多内容,结论是对错不一,让我折腾了三天,现总结如下:

    1.软件的版本。安装测试的为numpy-1.6.1和matplotlib-1.1.0,WindowsXP系统。我原来系统安装的numpy-1.6和matplotlib-1.1.0有冲突。

    2.修改matplotlibrc文件。ArcGIS10下安装后,该文件在C:Python26ArcGIS10.0Libsite-packagesmatplotlibmpl-data下,利用记事本打开后找到下列两句:

    #font.family         : sans-serif
    #font.sans-serif     : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
    将注释符号#去掉,并增加中文字体名,修改如下:
    font.family         : sans-serif
    font.sans-serif     : Microsoft YaHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

     注:在font.sans-serif中添加的字体名称必须正确,XP下可以在C:Documents and Settings[用户名].matplotlib/fontList.cache文件中,通过查找文件名找到对应的名称,如上面的"Microsoft YaHei"的字体文件名称为“msyh.ttf",搜索一下就找到了。如果还不行,试着将字体文件copy到C:Python26ArcGIS10.0Libsite-packagesmatplotlibmpl-datafonts tf目录下。
     
    3.在Python程序中增加下列语句
    mpl.rcParams['axes.unicode_minus'] = False  #避免负号不显示的错误
     
    4.Unicode的设置。如果在ArcGIS10环境以外调试,必须在文件开始处(第一行)中增加:
    #-*- coding: utf-8 -*-
    字符格式使用u‘中文显示'
    如果是在ArcGIS10中的Arctoolbox中调用,上面的Unicode的设置反而多余。ArcGIS10默认值即可,没有必要设置,通过参数传进去的字符均为Unicode字符。
    通过以上几个步骤在ArcGIS10下作图成功。
  • 相关阅读:
    MEAN: AngularJS + NodeJS的REST API开发教程
    什么是MEAN全堆栈javascript开发框架
    fputcsv 导出excel,解决内存、性能、乱码、科学计数法问题
    React 高德地图画点画区域放大缩小
    React 拖动布局
    React+TypeScript搭建项目
    js 运算符优先级
    for...in 与 for...of
    前端面试点记录
    Vue 高德地图 路径规划 画点
  • 原文地址:https://www.cnblogs.com/goodmangis/p/3787577.html
Copyright © 2011-2022 走看看