Python画图基本方法总结

原创 2016年08月11日 17:34:29
import pandas as pd

import numpy as np


frommatplotlib.ticker import MultipleLocator, FormatStrFormatter
import matplotlib as mpl
# matplotlib.use('Agg')
import matplotlib.pyplot as plt  


1.设置画布大小

   plt.figure(figsize=(19, 12))    #设置画布尺寸大小,会影响自动弹出来图框的大小
    ax = plt.subplot(1, 1, 1)           # 画子图

2. 取不同颜色个数
    col_num = df.shape[1]
    colormap = plt.cm.gist_ncar   # 颜色轴连续的,python自带的字母颜色只有7中,有时不够用

    colors = [colormap(i) for i in np.linspace(0, 0.9, col_num)]

3.画点图,折线图,label会对应legend
    for i in range(1, df.shape[1]):
        plt.plot(df.iloc[:, 0], df_total_guodu_3_relative30up.iloc[:, i], color=colors[i],
                 linestyle='-', linewidth=6, label='%s' % df.columns[i])

4.显示中文时指定路径

  用fc-list : lang=zh在终端里查询包含哪些字体

    myfont = mpl.font_manager.FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')   #指定中文字体路径
    myfont1 = mpl.font_manager.FontProperties(fname='/usr/share/fonts/opentype/noto/NotoSansCJK.ttc',size=20)

   ax.legend(legend, loc='best', bbox_to_anchor=(1.03, -0.04),ncol=8, frameon=False,prop=myfont1

   # 不能单独设置字体大小,fontsize,prop不能同时用,如果只显示英文数字,不需要指定字体,则可直接用fontsize

5.设置标签是横向摆放,定义函数flip

 ----------------------------------------------------------------------------------------------------------  

import itertools

 def flip(items, ncol):
     return itertools.chain(*[items[i::ncol] for i in range(ncol)])

-------------------------------------------------------------------------------------------------------

   handles, labels = ax.get_legend_handles_labels()   
    plt.legend(flip(handles, 8), flip(labels, 8), loc='best', fontsize=17, bbox_to_anchor=(0.9, -0.02), ncol=8,
               frameon=False)

6.标题
    plt.title(u'过渡', fontproperties=myfont, fontsize=25)

7.轴的各种设置
    xmajorLocator = MultipleLocator(1)                     # 将x主刻度标签设置为1的倍数
    ax.xaxis.set_major_locator(xmajorLocator)

    ymajorFormatter = FormatStrFormatter('%.2f')     # 设置y轴标签文本的格式两位小数(‘%.2f%%’)百分号格式
    ax.yaxis.set_major_formatter(ymajorFormatter)


  ticklab = ax.yaxis.get_ticklabels()[0]                          #设置y轴标签的位置
  trans = ticklab.get_transform()
  ax.yaxis.set_label_coords(-0.06, 6000, transform=trans)


    ax.set_ylim([0, 5])  #设置y轴取值范围
    ax.set_xlim([0, 11])  # 设置x轴取值范围

    for tick in ax.xaxis.get_major_ticks():  # 设置x轴刻度文本的大小
        tick.label1.set_fontsize(18)

    for tick in ax.yaxis.get_major_ticks():  # 设置y轴刻度文本的大小
        tick.label1.set_fontsize(18)

    ax.yaxis.grid(True)  # y坐标轴的网格

8.保存图片

    plt.savefig('./total.jpg', format='jpg') # 保存图片


9.累计柱状图

# 每个比例柱形图的个数,方便后面画个数
N = df[1]-1
left = np.arange(N)
width = 0.55

height = []

height.append(df[0, 1:3]/1000000)
plt.bar(left, height[0], width,  facecolor = colors[0], edgecolor = 'white', align='center')

for i in range(1, df[0]):
    height.append(df_total_owing.iloc[i, 1:3]/1000000)
    plt.bar(left, height


10. 设置横轴标签是其中文,日期,并旋转角度

N = df.shape[0]                       #设置x轴刻度标签
left = np.arange(N)
x_ticks = df.iloc[:, 0]          # 设置x轴的刻度值并旋转,文本刻度值太长,放在后面不管用
plt.xticks(left, x_ticks, rotation=90)          # left是每个刻度开始的位置



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

matplotlib基本绘图参数

导入绘图包import matplotlib.pyplot as plt import numpy as np使用from pylab import *一次导入matplotlib.pyplot和nu...

matplotlib中如何改变figure的布局和大小

以下来自Stack Overflow 从上面我们可以很清晰的看出应该如何使用matplotlib的figure方法。...

Matplotlib 图例中文显示(大小修改)

legend学习代码如下:#-- coding: utf-8 -- from pylab import * myfont =matplotlib.font_manager.FontProper...

Python 图片尺寸缩放的4种方式

最近由于网站对图片尺寸的需要,用python写了个小脚本,方便进行图片尺寸的一些调整,特记录如下: # coding=utf-8 import Image import shutil import...
  • ln152315
  • ln152315
  • 2015年01月16日 14:56
  • 15048

Matplotlib画图之调整字体大小

这里直接用代码片段说明一下如何设置刻度、图例和坐标标签字体大小。import matplotlib.pyplot as plt# 代码中的“...”代表省略的其他参数 ax = plt.subplot...

Matplotlib 绘图并保存图像

下述代码源于参考TensorFlow入门一中线性回归的实现,想将结果图片保存查看。 1、导入文件: import matplotlib matplotlib.use('Agg') ...

演示如何实现Matplotlib绘图并保存图像但不显示图形的方法

使用Python的Matplotlib的时候,很多任务是批处理的, 中间需要画图,并保存图像,可是不希望每次都把图形显示出来, 可以试一下下面的脚本testplot.py: import num...
  • rumswell
  • rumswell
  • 2012年03月11日 18:48
  • 48489

Python图表绘制:matplotlib绘图库入门

Python图表绘制:matplotlib绘图库入门 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便...

python 画图--简单开始及折线图

python 画图 一、环境准备            linux ubuntu 下需安装下面三个包:                   Numpy, Scipy,Matplotlib   ...

数字的可视化:python画图之散点图sactter函数详解

最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1、scatter函数原型 2、其中散点的形状参数marker如下: 3、其...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python画图基本方法总结
举报原因:
原因补充:

(最多只允许输入30个字)