spyder下调整matplotlib柱状图的位置,x轴坐标,标签等

前言

这里记录一下我在spyder下绘制柱状图时候对柱状图位置,x轴坐标,标签的调整。

这里先给出最终画出来的图片(读者可以根据我绘制的图片决定是否是自己关注的点,以及是否继续阅读):

在这里插入图片描述

先调整spyder

之前spyder画图一直都是显示在右下方控制台中,图片非常小,让我看起来非常难受。

之前图片都是展示在这个`IPython console`中,看起来太小

所以我决定让spyder每次画图都展示在独立窗口中,具体设置如下:
上方菜单栏 -> Tools -> preferences -> IPython console -> graphics -> backend -> Qt5

在这里插入图片描述

就这么设置就ok

**注意:**之后要重启一下Spyder 或者 把这个IPython Console关掉就ok了。明显后者更节省时间。

在这里插入图片描述

关掉IPython Console,就会生成一个新的Console

这样之后,以后画图就可以是独立窗口显示了。

代码

# -*- coding: utf-8 -*-
"""
Created on Sun Nov  4 22:13:27 2018@author: 10502
"""

from matplotlib.pyplot import *
from numpy import *

## 设置中文
from pylab import *
mpl.rcParams['font.sans-serif']= ['KaiTi']

## x数据
xstring="汉族 蒙古族 回族 藏族 维吾尔族 苗族 彝族 壮族 布依族 朝鲜族 满族 侗族 瑶族 白族 土家族"

## y1数据
ystring1="625032848 2999520 5373741 3155625 5097594 4870328 4456382 8689488 1455720 \
910535 5401812 1511959 1458842 978998 4307260"

## y2数据
ystring2="595811672 2982320 5212346 3126562 4971752 4555679 4258011 8236893 \
14814314 920394 4986146 1368015 1337161 954512 4046652"

## 处理y1,y2 将字符串转换成浮点数的列表
y1=ystring1.split()
y1= [float(e) for e in y1]
y2=ystring2.split()
y2= [float(e) for e in y2]

## x轴坐标。 +1 是为了让所有柱状图都显示完全
x=arange(len(xtring))+1

## 画出柱状图 +0.2 -0.2 都是为了控制柱状图的位置 width是柱状图的宽度,也是0.2
bar(x-0.2,y1,width=0.2)
bar(x+0.2,y2,width=0.2)

## 这个是为了控制y轴的范围,让柱状图更清晰美观
min_y=min(y1) if min(y1)<min(y2) else min(y2)
max_y=max(y1) if max(y1)<max(y2) else max(y2)

## -9e5 +4e7 都是为了控制y轴的范围。
axis([0,len(x)+0.5,min_y-9e5,max_y+4e7])

## x轴的标签
xlabel=xstring.split()

## x轴标签,xlabel和x一一对应起来
xticks(x,xlabel,rotation=45)

## 图例
legend(["男","女"],loc="upper center")

## 显示图片
show()

调间距大概是:
1)axis([0,len(x)+0.5,min_y-9e5,max_y+4e7]) 这个是调整x轴的范围
2)xticks(x,xtring,rotation=45) 调整 x轴标签的位置
3)bar(x-0.2,y1,width=0.2) 也是调柱状图位置的

具体可以多看看bar,axis,xticks这些函数。

总结

在代码里面我已经注释的比较清楚了,所以就不多说了。
在此记录,完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值