python 标签保留小数 画图_python绘图总结

本文详细介绍了Python中matplotlib, pandas和seaborn库的绘图方法,包括面向对象、子图创建、全局设置、颜色系统等方面,并提供了丰富的代码示例。通过这些库,可以方便地进行数据可视化,包括柱状图、折线图、散点图等,并且能够灵活设置图形的样式和颜色。" 119990497,11313741,C语言实现等腰字符三角形,"['C语言', '编程题', '字符操作']
摘要由CSDN通过智能技术生成

本文主要包括python绘图中的matplotlib, pandas, seaborn三个部分。matplotlib分为如下几个主题中文支持

plt示例代码

面向对象

创建子图

全局设置

颜色系统

backend设置

循环作图

plt不输出对象

首先导入基本模块

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

%matplotlib inline

本文代码在jupyter notebook中运行,最后一行魔法命令,可以在画图时结尾不需要plt.show()

中文支持

plt.rcParams['font.sans-serif'] = ['FangSong']

plt.rcParams['axes.unicode_minus'] = False

plt示例代码

用pyplot模块作图非常简单,这里用一个例子展示各个位置的设置方式

bar1 = [4, 5, 6, 8, 7]

bar2 = [7, 6, 2, 5, 4]

labels = ['小明', '小张', '小洪', '小红', '小铭']

bar_width = 0.35

plt.bar(np.arange(5)-0.5*bar_width, bar1, label='第一次',

width=bar_width, color='#58C9B9')

plt.bar(np.arange(5)+0.5*bar_width, bar2, label='第二次',

width=bar_width, color='#519D9E')

plt.xlabel('人名', fontsize=15)

plt.ylabel('数量', fontsize=15)

plt.title('数量统计', fontsize=18)

plt.ylim([0, 10])

plt.legend()

plt.xticks(np.arange(5), labels, fontsize=13)

plt.box(False)

plt.grid(color='0.4', axis='y', linestyle='solid', alpha=0.1)

for i, j in enumerate(bar1):

plt.text(i-0.5*bar_width-0.05, j+0.1, str(j))

for i, j in enumerate(bar2):

plt.text(i+0.5*bar_width-0.05, j+0.1, str(j))

plt.savefig('fig.pdf', bbox_inches='tight')

其中plt.bar第一个参数是横轴坐标;plt.xticks第一个参数也是横坐标列表,指定在哪些横坐标上标刻度。

绘制各种图形的代码示例可以参考官网

面向对象

Matplotlib中常⽤对象的包含关系为Figure > Axes > (Line2D, Text,etc.)。Figure对象表示一整张图表;其中可包含多个绘图区域,可以理解为多个坐标轴,用Axes表示,也可以称之为子图;在每一个子图中绘制具体的图形对象,如点、线、文本等。

很多情况下直接使用pyplot模块就够用了,但是当有多个图和坐标系时,使用面向对象的创建方式可以更加自由地在子图之间进行切换。

对象的创建

fig = plt.figure()

axes = fig.add_subplot(1, 1, 1)

axes.plot([1, 2, 3])

axes创建后使用方法与plt没有很大的区别,但是还是会有一些差别,比如标题坐标轴的设置

面向对象与plt的差异

axes.set_title('title')

axes.set_xlabel('x')

axes.set_ylabel('y')

plt.title('title')

plt.xlabel('x')

plt.ylabel('y')

有的函数只能由axes调用而不能用plt,比如画多边形时的add_patch

fig = plt.figure()

axes = fig.add_subplot(1, 1, 1)

axes.plot([1, 2, 3])

poly = plt.Polygon([[0.5, 1], [1, 1.5], [1, 1]],

facecolor='0.9', edgecolor='0.5')

axes.add_patch(poly)

面向对象与plt的相互转化

但是有时本来只是在用plt作图,为了用add_patch而特意创建一个axes就比较麻烦,此时可以用plt.gca()获取当前的Axes对象

plt.plot([1, 2, 3])

poly = plt.Polygon([[0.5, 1], [1, 1.5], [1, 1]],

facecolor='0.9', edgecolor='0.5')

plt.gca().add_patch(poly)

下面一个例子很好地展现了图表之间的切换

plt.figure(1)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值