jupyter notebook matplotlib主题变换

简介: 有时候因为jupyter notebook本身的主题不同,导致画图的时候与图表的颜色冲突,看不清坐标轴,这时候可以通过更换坐标轴风格来解决:

一、更换主题样式



plt.style.available
## 主题如下:
['Solarize_Light2',
 '_classic_test_patch',
 'bmh',
 'classic',
 'dark_background',
 'fast',
 'fivethirtyeight',
 'ggplot',
 'grayscale',
 'seaborn',
 'seaborn-bright',
 'seaborn-colorblind',
 'seaborn-dark',
 'seaborn-dark-palette',
 'seaborn-darkgrid',
 'seaborn-deep',
 'seaborn-muted',
 'seaborn-notebook',
 'seaborn-paper',
 'seaborn-pastel',
 'seaborn-poster',
 'seaborn-talk',
 'seaborn-ticks',
 'seaborn-white',
 'seaborn-whitegrid',
 'tableau-colorblind10']

原始风格:

# 折线图进阶
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房2021TOP5") 
plt.plot(bo,prices,label='票房与票价')
plt.show()

742e187a594d43938b0e8919c94c2a62.png

更换主题:

plt.style.use('ggplot')

4fc8bfbafdbf43bcbaf5ed7e45ff7802.png

plt.style.use('seaborn')

a7acf1c708e34a71a410a9393fedd762.png

plt.style.use('classic')

2dc3dcc238194377b3f9206c32b49581.png

最终我的效果:

# 折线图进阶
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房2021TOP5") 
plt.plot(bo,prices,label='票房与票价')
plt.plot(bo,persons,label='票房与人次')
plt.plot(bo,points,label='票房与评价')
plt.legend() # 显示标签
plt.xlabel('票房')
plt.ylabel('行情')
plt.show()
51244e854f8b4849bbbf798e3432bb4d.png

二、线条变换



'r^--' :红色虚线

'g^--' :绿色虚线

'b^--' :蓝色虚线

'g*-' :表示绿色,并且数据标记是一个星号

^:表示数据标记为一个向上的三角形

# 折线图进阶
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房与票价')
plt.plot(bo,persons,label='票房与人次')
plt.plot(bo,points,label='票房与评价')
plt.legend() # 显示标签
plt.xlabel('票房') # 横坐标轴标题
plt.ylabel('行情') # 纵坐标轴标题
plt.show()

41df37b1425e479382ea165c995fec23.png

fe6fe60ed47b419190672104350e1f16.pngfe6fe60ed47b419190672104350e1f16.png

3a9643405024441c99a2aa620466673c.png

3a9643405024441c99a2aa620466673c.png

# 折线图进阶
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房与票价')
plt.plot(bo,persons,'g*-',label='票房与人次')
plt.plot(bo,points,'bo--',label='票房与评价')
plt.legend() # 显示标签
plt.xlabel('票房') # 横坐标轴标题
plt.ylabel('行情') # 纵坐标轴标题
plt.show()

3d555220fd654548b620de3ffdc24cd8.png

# 折线图进阶
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房与票价')
plt.plot(bo,persons,'g*-',label='票房与人次')
plt.plot(bo,points,color='blue',marker='o',markersize=10,label='票房与评价')
plt.legend() # 显示标签
plt.xlabel('票房') # 横坐标轴标题
plt.ylabel('行情') # 纵坐标轴标题
plt.show()

0ef4e285b542487585356d88efcce732.png


三、将图表保存成本地图片



plt.savefig("cnbotop5.png")

43079a8137e3416e8b2913c39cae9049.png


920320ad324f469fb0ac6b954c1acf40.png

四、添加辅助线



# 03 经典款式无辅助线
plt.style.use('classic')
# 折线图进阶
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房与票价')
plt.plot(bo,persons,'g*-',label='票房与人次')
plt.plot(bo,points,color='blue',marker='o',markersize=10,label='票房与评价')
plt.legend() # 显示标签
plt.xlabel('票房') # 横坐标轴标题
plt.ylabel('行情') # 纵坐标轴标题
plt.show()

1dbbf63fbad2494ca032e8d2fc50e929.png

plt.grid() # 添加网格线

3c7e40ca84b2413ba02f96ca1b122dce.png


五、调整画图的大小和清晰度



plt.figure(figsize=(16,10),dpi=100)

e9daed525a7041fa88cf564415430849.png

这里dpi就相当于清晰度,而figsize就是长度和宽度


127694217614484b837283710e1b91da.png


六、使用动漫风格



# 05 使用特殊风格
from matplotlib import pyplot as plt 
plt.xkcd()
plt.figure(figsize=(16,10),dpi=100)
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.rcParams.update({'font.family': "Microsoft YaHei"})
plt.title("中国票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房与票价')
plt.plot(bo,persons,'g*-',label='票房与人次')
plt.plot(bo,points,color='blue',marker='o',markersize=10,label='票房与评价')
plt.legend() # 显示标签
plt.xlabel('票房') # 横坐标轴标题
plt.ylabel('行情') # 纵坐标轴标题
plt.grid()
plt.savefig("cnbotop5_300.png")
plt.show()


b430dc117699412d866556e3919a9b8a.png

eb4c584ea5ef4f9ea030262b2da921bc.png


调整长宽来进行图像的扁平化调整


7b770586ed5c40f2a56d0446f8c44ead.png


七、横坐标的倾斜度



plt.xticks(rotation=45) # 横坐标轴的每个标题倾斜45度
# 绘制水平柱状图
plt.style.use('classic')
# cnbodfgbsort["BO"].to_list().reverse()
# cnbodfgbsort.index.to_list().reverse()
plt.figure(figsize=(16,10),dpi=100)
plt.rcParams.update({'font.family': "Microsoft YaHei"})
plt.title("中国票房分类柱状图") 
plt.barh(rcnboindex,rbolist)
plt.legend() # 显示标签
plt.xlabel('票房') # 横坐标轴标题
plt.ylabel('电影类型') # 纵坐标轴标题
plt.xticks(rotation=45) # 横坐标轴的每个标题倾斜45度
plt.show()

f6f7859b9fc74b46a98f1b4aceb4681c.png



八、横纵坐标轴转换



rbolist=cnbodfgbsort["BO"].to_list()
rcnboindex=cnbodfgbsort.index.to_list()
rbolist
rbolist.reverse()
rbolist
rcnboindex.reverse()

d9fc7ef9043245ef877553ba0049ef8d.pngd0a159cc23e04e129d285cfa20f04e53.png


相关文章
|
人工智能 数据可视化 Python
快速上手Jupyter Notebook | Python 数据可视化库 Matplotlib 快速入门之三
本节重点介绍了Jupyter Notebook的使用,cell操作以及快捷键的使用,以及简单了解markdown的用法。
快速上手Jupyter Notebook | Python 数据可视化库 Matplotlib 快速入门之三
|
JSON 数据可视化 数据挖掘
简介Jupyter Notebook | Python 数据可视化库 Matplotlib 快速入门之二
本节重点介绍了Jupyter Notebook是什么,以及Jupyter Notebook在画图和数据展示方面的优势。
简介Jupyter Notebook | Python 数据可视化库 Matplotlib 快速入门之二
|
6月前
|
Linux 数据安全/隐私保护 Python
Linux下远程访问Jupyter Notebook 配置
Linux下远程访问Jupyter Notebook 配置
93 1
|
6月前
|
机器学习/深度学习 网络协议 数据安全/隐私保护
远程访问本地jupyter notebook服务 - 无公网IP端口映射
远程访问本地jupyter notebook服务 - 无公网IP端口映射
|
JSON 数据安全/隐私保护 数据格式
Python如何配置服务器上的可远程访问的jupyter notebook
Python如何配置服务器上的可远程访问的jupyter notebook
274 1
|
机器学习/深度学习 网络协议 数据安全/隐私保护
Web网页浏览器远程访问jupyter notebook服务器【内网穿透】
Web网页浏览器远程访问jupyter notebook服务器【内网穿透】
|
机器学习/深度学习 网络协议 数据安全/隐私保护
远程访问本地jupyter notebook服务 - 无公网IP端口映射
远程访问本地jupyter notebook服务 - 无公网IP端口映射
207 0
|
机器学习/深度学习 网络协议 数据可视化
在外web浏览器远程访问jupyter notebook服务器【内网穿透】
在外web浏览器远程访问jupyter notebook服务器【内网穿透】
222 0