楼主: casey_c
2164 1

[程序分享] Matplotlib 图表样式风格调整 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.1003
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

楼主
casey_c 发表于 2017-5-19 11:33:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文


Matplotlib 库除了提供许多能够直接绘制图表的工具以外,也为我们提供了多种图表样式风格。本节将展示如何在 Python 中配置与修改这些图表样式风格。


首先我们导入需要用到的 Matplotlib 库以及 Numpy 库,并利用 style.use 函数将图表样式的风格设置为 'classic':



  1. import matplotlib.pyplot as plt
  2. plt.style.use('classic')
  3. import numpy as np

  4. %matplotlib inline
复制代码


当图表样式风格为 'classic' 时,我们绘制出来的直方图是这样的:


  1. x = np.random.randn(1000)
  2. plt.hist(x);
复制代码


1.jpg

也许你会觉得上面的直方图略丑,为了使图表美观且更具个性,有时候我们会做以下调整:


  1. # 使用一个灰色的背景图
  2. ax = plt.axes(axisbg='#E6E6E6')
  3. ax.set_axisbelow(True)

  4. # 加上白色实心的网格线
  5. plt.grid(color='w', linestyle='solid')

  6. # 隐藏坐标系的外围框线
  7. for spine in ax.spines.values():
  8.     spine.set_visible(False)
  9.    
  10. # 隐藏上方与右侧的坐标轴刻度
  11. ax.xaxis.tick_bottom()
  12. ax.yaxis.tick_left()

  13. # 让刻度线与标签的颜色更亮一些
  14. ax.tick_params(colors='gray', direction='out')
  15. for tick in ax.get_xticklabels():
  16.     tick.set_color('gray')
  17. for tick in ax.get_yticklabels():
  18.     tick.set_color('gray')
  19.    
  20. # 修改柱形的填充与边框颜色
  21. ax.hist(x, edgecolor='#E6E6E6', color='#EE6666');
复制代码


2.jpg

Matplotlib 中的样式风格配置都记录于 rcParams 对象中,我们可以利用下列命令将以上图表样式设置保存下来:


  1. IPython_default = plt.rcParams.copy()
复制代码


另外,也可以通过 Matplotlib 中 cycler 模块的功能来进行以上样式配置,有时候这么做会简便一些:


  1. from matplotlib import cycler
  2. colors = cycler('color',
  3.                 ['#EE6666', '#3388BB', '#9988DD',
  4.                  '#EECC55', '#88BB44', '#FFBBBB'])
  5. plt.rc('axes', facecolor='#E6E6E6', edgecolor='none',
  6.        axisbelow=True, grid=True, prop_cycle=colors)
  7. plt.rc('grid', color='w', linestyle='solid')
  8. plt.rc('xtick', direction='out', color='gray')
  9. plt.rc('ytick', direction='out', color='gray')
  10. plt.rc('patch', edgecolor='#E6E6E6')
  11. plt.rc('lines', linewidth=2)
复制代码
  1. plt.hist(x);
复制代码
3.jpg

以上内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Matplotlib matplot plot Mat lib 风格

沙发
casey_c 发表于 2017-5-23 14:07:07

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 14:36