最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
大家好,我是侯小啾!
本期blog分享的内容是,使用python matplotlib 绘制出双y轴图像 的具体实现。
绘制双y轴的思想,也是用到了matplotlib面向对象绘图的思想。在不指定位置的情况下,在一个画布上创建出两个坐标系,其中第一个坐标系正常创建,第二个坐标系则使用专有的twinx()方法创建。
则两个坐标系的位置重合。第一个坐标系轴在左,通过twinx()方法创建出的坐标系则轴在右。因为有了两个y轴,所以再对y轴属性进行操作的时候,则需要面向对象,如果再简单地使用plt.ylabel()等方法,则只能操作到左轴,而影响不到右轴。
下边做一个示例,首先是导包和准备数据,这里准备一组销量数据,并计算其增长率,将其体现在右轴。
具体代码如下:
import matplotlib.pyplot as plt
生成一组数据
x = range(7)
y1 = [2000, 1600, 3000, 6200, 7000, 9800, 11000]
y2 = [1]
for i in range(len(y1)):
if i+1 == len(y1):
break
rate = round(y1[i+1]/y1[i] - 1, 2)
y2.append(rate)
fig = plt.figure(figsize=(10, 8), facecolor=‘#ff33ff’)
字体使用楷体
plt.rcParams[‘font.sans-serif’] = [‘STKAITI’]
plt.rcParams[‘axes.unicode_minus’] = False
背景色为cc00ff
plt.rcParams[‘axes.facecolor’] = ‘#cc00ff’
ax1 = fig.add_subplot(111)
plt.title(‘销售量及其增长率图示’, color=‘#ffff00’, fontsize=25, y=1.04)
plt.xticks(x, [‘1月’, ‘2月’, ‘3月’, ‘4月’, ‘5月’, ‘6月’, ‘7月’], color=‘#ffff00’, fontsize=15)
plt.xlabel(‘月份’, color=‘#ff0033’, fontsize=15)
plt.yticks(color=‘#B22222’, fontsize=15)
ax1.bar(x, y1, color=‘#33ff66’, label=‘left’)
ax1.set_ylabel(‘销售量(件)’, color=‘#66ff00’, fontsize=20)
增加一条坐标轴
ax2 = ax1.twinx()
ax2.plot(x, y2, color=‘#3399ff’, linestyle=‘–’, marker=‘o’, linewidth=2)
ax2.set_ylabel(“增长率”, color=‘#66ff00’, fontsize=20)
ax2.tick_params(axis=‘y’, color=‘green’, labelsize=15, labelcolor=‘#B22222’)
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!