【python学习】-matplotlib绘制双坐标柱状图
matplotlib绘制双坐标柱状图
- 单坐标柱状图绘制
- 双坐标柱状图绘制
- 图形美化
本文章记录双坐标柱状图的绘制过程
单坐标柱状图绘制
#来自官网的例子
import matplotlib.pyplot as plt
import numpy as np
#柱状图两组数值
men_means = [20, 34, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
#设置x轴
x = np.arange(5) # the label locations
width = 0.35 # the width of the bars,设置柱状图柱子的大小
#绘图
fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, men_means, width, label='Men')
rects2 = ax.bar(x + width/2, women_means, width, label='Women')
#设置坐标轴标签
# Add some text for labels, title and custom x-axis tick labels, etc.
ax.set_ylabel('Scores')
ax.set_xlabel('Course')
ax.legend()#显示图例
#图形自动调整位置
fig.tight_layout()
#显示图形
plt.show()
输出图片
双坐标柱状图绘制
import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4.5))
ax1 = fig.add_subplot(111)
x = np.arange(5) # 横坐标范围
total_width, n = 0.8, 2 # 柱状图总宽度,有两组数据
width = total_width / n # 单个柱状图的宽度
x1 = x - width / 2 # 第一组数据柱状图横坐标起始位置
x2 = x1 + width # 第二组数据柱状图横坐标起始位置
y1=[1,2,3,4,5]
y2=[2,4,6,8,10]
#第一幅
ax1.bar(x1,y1,width=width,label='y1',color='red',alpha=0.4)
ax1.legend(frameon=False,loc=(0.05,0.85))
ax1.set_xlabel('x')
ax1.set_ylabel('y1')
#第二幅
ax2 = ax1.twinx()
ax2.bar(x2,y2,width=width,label='y2',color='green',alpha=0.4)
ax2.legend(frameon=False,loc=(0.05,0.75))
ax2.set_xlabel('x')
ax2.set_ylabel('y2')
#图形显示
plt.show()
输出图片
图形美化
import matplotlib.pyplot as plt
import numpy as np
#图形大小、像素、字体设置
fig=plt.figure(figsize=(6,4.5))
plt.rcParams['figure.figsize']=(6,4.5)
plt.rcParams['savefig.dpi'] = 600 #图片像素
plt.rcParams['figure.dpi'] = 600
plt.rcParams['font.sans-serif']=['Arial']#图形字体
#字体类型,大小设置
font1 = {'family' : 'Arial','weight' : 'normal','size' : 18,}
#绘图设置
ax1 = fig.add_subplot(111)
x = np.arange(5) # 横坐标范围
total_width, n = 0.8, 2 # 柱状图总宽度,有两组数据
width = total_width / n # 单个柱状图的宽度
x1 = x - width / 2 # 第一组数据柱状图横坐标起始位置
x2 = x1 + width # 第二组数据柱状图横坐标起始位置
y1=[1,2,3,4,5]
y2=[2,4,6,8,10]
#第一幅
ax1.bar(x1,y1,width=width,label='y1',color='red',alpha=0.4)
plt.legend(frameon=False,loc=(0.05,0.85),fontsize='x-large')
ax1.set_xlabel('x',font1)
ax1.set_ylabel('y1',font1)
plt.yticks(fontsize=16)
plt.xticks(fontsize=16)#调整刻度数值显示角度
#第二幅
ax2 = ax1.twinx()
ax2.bar(x2,y2,width=width,label='y2',color='green',alpha=0.4)
plt.legend(frameon=False,loc=(0.05,0.75),fontsize='x-large')
ax2.set_xlabel('x',font1)
ax2.set_ylabel('y2',font1)
plt.yticks(fontsize=16)
plt.xticks(fontsize=16)#调整刻度数值显示角度
#图形显示
plt.show()
输出图片
【python学习】-matplotlib绘制双坐标柱状图相关推荐
- Python使用matplotlib绘制分组对比柱状图(bar plot)可视化时汉语(中文)标签显示成了框框□□、什么情况、我们有解决方案
Python使用matplotlib绘制分组对比柱状图可视化时(bar plot)汉语(中文)标签显示成了框框□□.什么情况.我们有解决方案 目录
- Python学习-Matplotlib库绘制简单点阵图、线型图操作
Python学习-Matplotlib库绘制简单散点图图和线型图.标签设置以及刻度线设置操作 目录 1.Matplotlib绘图细节的简单理解 2.绘制点图.线型图 3.给图表设置复杂标注 4.移动刻 ...
- python绘制多条不同x轴曲线_Python matplotlib 绘制双Y轴曲线图的示例代码
Matplotlib简介 Matplotlib是非常强大的python画图工具 Matplotlib可以画图线图.散点图.等高线图.条形图.柱形图.3D图形.图形动画等. Matplotlib安装 p ...
- Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况)
Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况) #仿真数据 import pandas as pd import numpy a ...
- Python使用matplotlib绘制柱状图(bar plot)实战:水平条形图、垂直条形图、分组条形图、堆叠条形图
Python使用matplotlib绘制柱状图(bar plot)实战:水平条形图.垂直条形图.分组条形图.堆叠条形图 目录
- Python把matplotlib绘制的水平条形图(horizontal bar)转化为竖直的柱状图(vertical bar)实战
Python把matplotlib绘制的水平条形图(horizontal bar)转化为竖直的柱状图(vertical bar)实战 目录
- Python——使用matplotlib绘制柱状图
Python--使用matplotlib绘制柱状图 1.基本柱状图 首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.html#matplotl ...
- python双柱状图与双折线图_如何绘制双轴柱状图和折线图?
如何绘制双轴柱状图和折线图? 答:第1步,先将数据作成如下表格. ××市2010--2014年农业灌溉用水有效利用系数 年份灌溉亩数(万亩)毛灌溉用水总量(万米3)净灌溉用水总量(万米3)灌溉水有效利 ...
- echarts折线图y轴根据数值自动_Python matplotlib 绘制双Y轴曲线图的示例代码
双X轴的 可以理解为共享y轴 ax1=ax.twiny() ax1=plt.twiny() 双Y轴的 可以理解为共享x轴 ax1=ax.twinx() ax1=plt.twinx() 自动生成一个例子 ...
最新文章
- 走进JavaScript响应式编程(Reactive Programming)
- [Swift]在不依赖三方库的情况下如何异步下载和缓存图片?
- weex运行ios报错:/bin/sh: pod: command not found
- 开发人员工作周报_如何增加找到开发人员工作的机会
- 求平均数、百分率、最大值、最小值、两个字段相差秒数的SQL
- Spring MVC 入门基础(一)
- LeetCode 147. Insertion Sort List
- HDU 1596 find the safest road (最短路)
- echart的基本使用方法
- 极速office(Excel)怎么把边框线条加粗
- 前端高效开发必备的 js 库
- 八条佛曰 66句震撼人心的禅语
- 数据库的锁机制理解和运用
- 全网最新-扶风视频解析计费系统,2022优化免授权版(赠接口轮询插件)
- SpringBoot自动装配流程
- 华为云大数据智能数据湖FusionInsight
- 配置切入点Pointcut的几种方式
- 用国外网盘中转站下载openCanvas
- Flash 引导层 实现卫星绕地球旋转
- wordpress修改了站点地址导致无法打开网站的解决办法
热门文章
- 2019年webstorm激活方法
- Vue组件中使用canvas实现蜂巢效果的一些尝试
- 四川大学计算机学院工会电话,工会办公室
- 4.1重载加号运算符
- C++ 简单工厂模式
- springfox源码_Java类springfox.documentation.builders.ParameterBuilder的实例源码 - 编程字典...
- 使用kali nethunter执行badUSB攻击--基于Rucky工具
- python实现mock测试
- 【C语言冒泡排序、选择排序和快速排序】
- Math/ML:序列监督学习-时间序列数据集/时间序列预测任务的简介、常用算法及其工具、案例应用之详细攻略