继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python数据处理从零开始----第四章(可视化)(6)(画布设置)

慕哥9229398
关注TA
已关注
手记 1099
粉丝 198
获赞 911

正文

使用样式表自定义绘图

style包为易于切换的绘图『样式』增加了支持,它们与matplotlibrc文件参数相同。
有一些预定义样式由matplotlib提供。 例如,有一个名为『ggplot』的预定义样式,它模拟ggplot(R 的一种流行的绘图软件包)的美学。 为了使用此样式。首先,调出所有可以选择的样式列表

print(plt.style.available) # 打印样式列表
['bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark-palette', 'seaborn-dark', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'seaborn', 'Solarize_Light2', 'tableau-colorblind10', '_classic_test']

%reset -f
%clear# In[*]import numpy as npimport matplotlib.pyplot as plt# In[*]# 生成一张12*4的图fig = plt.figure(figsize=(12,4))# 生成第一个子图在1行2列第一列位置ax1 = fig.add_subplot(121)# 生成第二子图在1行2列第二列位置ax2 = fig.add_subplot(122)# 柱状图数据x1 = [0.3, 1.7, 4, 6, 7]
y1 = [5, 20, 15, 25, 10]# 折线图数据x2 = np.arange(0,10)
y2 = [25,2,12,30,20,40,50,30,40,15]# 第一个子图绘图和设置ax1.bar(x1,y1)
ax1.set(xlabel='x',ylabel='y',title='title')# 第二个子图绘图和设置ax2.plot(x2,y2)
ax2.set(xlabel='x',ylabel='y',title='title')
plt.show()

webp

使用经典的style,plt.style.use('classic')

# In[*]plt.style.use('classic')# 生成一张12*4的图fig = plt.figure(figsize=(12,4))# 生成第一个子图在1行2列第一列位置ax1 = fig.add_subplot(121)# 生成第二子图在1行2列第二列位置ax2 = fig.add_subplot(122)# 柱状图数据x1 = [0.3, 1.7, 4, 6, 7]
y1 = [5, 20, 15, 25, 10]# 折线图数据x2 = np.arange(0,10)
y2 = [25,2,12,30,20,40,50,30,40,15]# 第一个子图绘图和设置ax1.bar(x1,y1)
ax1.set(xlabel='x',ylabel='y',title='title')# 第二个子图绘图和设置ax2.plot(x2,y2)
ax2.set(xlabel='x',ylabel='y',title='title')
plt.show()

webp


使用ggplot2

plt.style.use('ggplot')# 生成一张12*4的图fig = plt.figure(figsize=(12,4))# 生成第一个子图在1行2列第一列位置ax1 = fig.add_subplot(121)# 生成第二子图在1行2列第二列位置ax2 = fig.add_subplot(122)# 柱状图数据x1 = [0.3, 1.7, 4, 6, 7]
y1 = [5, 20, 15, 25, 10]# 折线图数据x2 = np.arange(0,10)
y2 = [25,2,12,30,20,40,50,30,40,15]# 第一个子图绘图和设置ax1.bar(x1,y1)
ax1.set(xlabel='x',ylabel='y',title='title')# 第二个子图绘图和设置ax2.plot(x2,y2)
ax2.set(xlabel='x',ylabel='y',title='title')
plt.show()

webp


最常用的style样式

# In[*]plt.style.use('seaborn-whitegrid')# 生成一张12*4的图fig = plt.figure(figsize=(12,4))# 生成第一个子图在1行2列第一列位置ax1 = fig.add_subplot(121)# 生成第二子图在1行2列第二列位置ax2 = fig.add_subplot(122)# 柱状图数据x1 = [0.3, 1.7, 4, 6, 7]
y1 = [5, 20, 15, 25, 10]# 折线图数据x2 = np.arange(0,10)
y2 = [25,2,12,30,20,40,50,30,40,15]# 第一个子图绘图和设置ax1.bar(x1,y1)
ax1.set(xlabel='x',ylabel='y',title='title')# 第二个子图绘图和设置ax2.plot(x2,y2)
ax2.set(xlabel='x',ylabel='y',title='title')
plt.show()

webp


最整洁的一套样式

plt.style.use('seaborn-white')# 生成一张12*4的图fig = plt.figure(figsize=(12,4))# 生成第一个子图在1行2列第一列位置ax1 = fig.add_subplot(121)# 生成第二子图在1行2列第二列位置ax2 = fig.add_subplot(122)# 柱状图数据x1 = [0.3, 1.7, 4, 6, 7]
y1 = [5, 20, 15, 25, 10]# 折线图数据x2 = np.arange(0,10)
y2 = [25,2,12,30,20,40,50,30,40,15]# 第一个子图绘图和设置ax1.bar(x1,y1)
ax1.set(xlabel='x',ylabel='y',title='title')# 第二个子图绘图和设置ax2.plot(x2,y2)
ax2.set(xlabel='x',ylabel='y',title='title')
plt.show()

webp



作者:夜神moon
链接:https://www.jianshu.com/p/679c576b86c0


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP