Python matplotlib实现图表主题变换示例详解

 更新时间:2022年03月08日 15:28:47   作者:渴望成为寂寞胜者  
在画图的时候如果出现与图表的颜色冲突或者看不清坐标轴的情况,这时候可以通过更换坐标轴风格来解决,本文将为大家详细介绍如何利用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()

更换主题:

plt.style.use('ggplot')

plt.style.use('seaborn')

plt.style.use('classic')

最终我的效果:

# 折线图进阶
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()

二、线条变换

'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()

# 折线图进阶
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()

# 折线图进阶
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()

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

plt.savefig("cnbotop5.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()

plt.grid() # 添加网格线

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

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

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

六、使用动漫风格

# 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()

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

七、横坐标的倾斜度

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()

八、横纵坐标轴转换

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

以上就是Python matplotlib实现图表主题变换示例详解的详细内容,更多关于Python matplotlib图表主题变换的资料请关注脚本之家其它相关文章!

相关文章

  • python3中_from...import...与import ...之间的区别详解(包/模块)

    python3中_from...import...与import ...之间的区别详解(包/模块)

    Python编码第一步是导入模块,有时候用import ***有时候用from...import,下面这篇文章主要给大家介绍了关于python3中_from...import...与import ...之间区别的相关资料,需要的朋友可以参考下
    2022-08-08
  • Python中asyncore的用法实例

    Python中asyncore的用法实例

    这篇文章主要介绍了Python中asyncore的用法,asyncore提供了方便的网络操作方法,本文以连接并解析www.python.org主页为例加以说明,需要的朋友可以参考下
    2014-09-09
  • Python使用asyncio包实现异步编程方式

    Python使用asyncio包实现异步编程方式

    这篇文章主要介绍了Python使用asyncio包实现异步编程方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python简单计算文件夹大小的方法

    Python简单计算文件夹大小的方法

    这篇文章主要介绍了Python简单计算文件夹大小的方法,涉及Python针对目录的遍历与文件计算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • python反扒机制的5种解决方法

    python反扒机制的5种解决方法

    这篇文章主要介绍了python反扒机制的5种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • django创建简单的页面响应实例教程

    django创建简单的页面响应实例教程

    这篇文章主要给大家介绍了关于django如何创建简单的页面响应的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 自己编程中遇到的Python错误和解决方法汇总整理

    自己编程中遇到的Python错误和解决方法汇总整理

    这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下
    2015-06-06
  • 一篇文章带你了解python元组基础

    一篇文章带你了解python元组基础

    今天小编就为大家分享一篇关于Python中的元组介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-08-08
  • 使用Python编写电脑定时关机小程序

    使用Python编写电脑定时关机小程序

    这篇文章主要为大家详细介绍了如何使用Python编写电脑定时关机小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • 浅析Python中字符串的intern机制

    浅析Python中字符串的intern机制

    这篇文章主要介绍了Python中字符串的intern机制,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-10-10

最新评论